Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61741 - in sandbox/xint: . boost/move boost/xint doc doc/dox src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-05-02 18:47:53


Author: chadnelson
Date: 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
New Revision: 61741
URL: http://svn.boost.org/trac/boost/changeset/61741

Log:
Hid detail namespace from documentation, added performance testing
function, various and sundry minor improvements.
Added:
   sandbox/xint/PERFORMANCE TESTING.txt (contents, props changed)
   sandbox/xint/boost/move/
   sandbox/xint/boost/move/move.hpp (contents, props changed)
Removed:
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.png
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.html
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.png
   sandbox/xint/doc/classboost_1_1xint_1_1integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.png
   sandbox/xint/doc/functions_0x67.html
   sandbox/xint/doc/functions_0x6c.html
   sandbox/xint/doc/functions_0x70.html
   sandbox/xint/doc/functions_func_0x62.html
   sandbox/xint/doc/functions_func_0x63.html
   sandbox/xint/doc/functions_func_0x64.html
   sandbox/xint/doc/functions_func_0x65.html
   sandbox/xint/doc/functions_func_0x66.html
   sandbox/xint/doc/functions_func_0x68.html
   sandbox/xint/doc/functions_func_0x69.html
   sandbox/xint/doc/functions_func_0x6d.html
   sandbox/xint/doc/functions_func_0x6e.html
   sandbox/xint/doc/functions_func_0x6f.html
   sandbox/xint/doc/functions_func_0x70.html
   sandbox/xint/doc/functions_func_0x71.html
   sandbox/xint/doc/functions_func_0x72.html
   sandbox/xint/doc/functions_func_0x73.html
   sandbox/xint/doc/functions_func_0x74.html
   sandbox/xint/doc/functions_func_0x7a.html
   sandbox/xint/doc/functions_func_0x7e.html
   sandbox/xint/doc/functions_rela.html
   sandbox/xint/doc/globals_vars.html
   sandbox/xint/doc/namespacemembers_0x62.html
   sandbox/xint/doc/namespacemembers_0x63.html
   sandbox/xint/doc/namespacemembers_0x64.html
   sandbox/xint/doc/namespacemembers_0x66.html
   sandbox/xint/doc/namespacemembers_0x67.html
   sandbox/xint/doc/namespacemembers_0x68.html
   sandbox/xint/doc/namespacemembers_0x69.html
   sandbox/xint/doc/namespacemembers_0x6c.html
   sandbox/xint/doc/namespacemembers_0x6d.html
   sandbox/xint/doc/namespacemembers_0x6e.html
   sandbox/xint/doc/namespacemembers_0x6f.html
   sandbox/xint/doc/namespacemembers_0x70.html
   sandbox/xint/doc/namespacemembers_0x72.html
   sandbox/xint/doc/namespacemembers_0x73.html
   sandbox/xint/doc/namespacemembers_0x74.html
   sandbox/xint/doc/namespacemembers_0x7a.html
   sandbox/xint/doc/namespacemembers_func_0x62.html
   sandbox/xint/doc/namespacemembers_func_0x63.html
   sandbox/xint/doc/namespacemembers_func_0x64.html
   sandbox/xint/doc/namespacemembers_func_0x66.html
   sandbox/xint/doc/namespacemembers_func_0x67.html
   sandbox/xint/doc/namespacemembers_func_0x68.html
   sandbox/xint/doc/namespacemembers_func_0x69.html
   sandbox/xint/doc/namespacemembers_func_0x6c.html
   sandbox/xint/doc/namespacemembers_func_0x6d.html
   sandbox/xint/doc/namespacemembers_func_0x6e.html
   sandbox/xint/doc/namespacemembers_func_0x6f.html
   sandbox/xint/doc/namespacemembers_func_0x70.html
   sandbox/xint/doc/namespacemembers_func_0x72.html
   sandbox/xint/doc/namespacemembers_func_0x73.html
   sandbox/xint/doc/namespacemembers_func_0x74.html
   sandbox/xint/doc/namespacemembers_func_0x7a.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.png
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.png
Binary files modified:
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.png
Text files modified:
   sandbox/xint/boost/xint/integer.hpp | 2
   sandbox/xint/boost/xint/internals.hpp | 25
   sandbox/xint/boost/xint/monty.hpp | 4
   sandbox/xint/boost/xint/nothrow_integer.hpp | 8
   sandbox/xint/boost/xint/random.hpp | 2
   sandbox/xint/doc/acknowledgements.html | 6
   sandbox/xint/doc/acknowledgements_8dox.html | 2
   sandbox/xint/doc/annotated.html | 10
   sandbox/xint/doc/base__integer_8cpp.html | 9
   sandbox/xint/doc/base__integer_8cpp_source.html | 661 ++++++++--------
   sandbox/xint/doc/bit__manipulations_8cpp.html | 19
   sandbox/xint/doc/bit__manipulations_8cpp_source.html | 506 ++++++------
   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_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 | 43 -
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html | 9
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html | 43 -
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html | 27
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html | 44 -
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html | 77 -
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html | 44 -
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html | 83 -
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html | 4
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html | 16
   sandbox/xint/doc/classdisable__boost__rv__ref.html | 4
   sandbox/xint/doc/classes.html | 23
   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 | 4
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html | 2
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html | 64
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html | 2
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html | 64
   sandbox/xint/doc/compare_8cpp.html | 10
   sandbox/xint/doc/compare_8cpp_source.html | 146 +-
   sandbox/xint/doc/complexity.html | 5
   sandbox/xint/doc/complexity_8dox.html | 2
   sandbox/xint/doc/convert_8cpp.html | 13
   sandbox/xint/doc/convert_8cpp_source.html | 322 +++---
   sandbox/xint/doc/copyonwrite_8dox.html | 2
   sandbox/xint/doc/cow.html | 2
   sandbox/xint/doc/data__t_8cpp.html | 18
   sandbox/xint/doc/data__t_8cpp_source.html | 286 +++---
   sandbox/xint/doc/dependencies.html | 2
   sandbox/xint/doc/dependencies_8dox.html | 2
   sandbox/xint/doc/dox/acknowledgements.dox | 4
   sandbox/xint/doc/dox/complexity.dox | 10
   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 | 120 +-
   sandbox/xint/doc/functions.html | 100 --
   sandbox/xint/doc/functions_0x62.html | 15
   sandbox/xint/doc/functions_0x63.html | 9
   sandbox/xint/doc/functions_0x64.html | 13
   sandbox/xint/doc/functions_0x65.html | 15
   sandbox/xint/doc/functions_0x66.html | 23
   sandbox/xint/doc/functions_0x68.html | 8
   sandbox/xint/doc/functions_0x69.html | 6
   sandbox/xint/doc/functions_0x6d.html | 30
   sandbox/xint/doc/functions_0x6e.html | 11
   sandbox/xint/doc/functions_0x6f.html | 59
   sandbox/xint/doc/functions_0x71.html | 6
   sandbox/xint/doc/functions_0x72.html | 18
   sandbox/xint/doc/functions_0x73.html | 13
   sandbox/xint/doc/functions_0x74.html | 10
   sandbox/xint/doc/functions_0x7a.html | 6
   sandbox/xint/doc/functions_0x7e.html | 12
   sandbox/xint/doc/functions_func.html | 369 ++++++--
   sandbox/xint/doc/functions_type.html | 17
   sandbox/xint/doc/functions_vars.html | 61 -
   sandbox/xint/doc/gcd_8cpp.html | 58 -
   sandbox/xint/doc/gcd_8cpp_source.html | 293 +++---
   sandbox/xint/doc/globals.html | 19
   sandbox/xint/doc/globals_defs.html | 7
   sandbox/xint/doc/hierarchy.html | 28
   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 | 206 ++--
   sandbox/xint/doc/integer_8hpp.html | 20
   sandbox/xint/doc/integer_8hpp_source.html | 328 ++++---
   sandbox/xint/doc/internals_8hpp.html | 110 --
   sandbox/xint/doc/internals_8hpp_source.html | 881 +++++++++++----------
   sandbox/xint/doc/misc_8cpp.html | 2
   sandbox/xint/doc/misc_8cpp_source.html | 2
   sandbox/xint/doc/modular_8cpp.html | 11
   sandbox/xint/doc/modular_8cpp_source.html | 160 +-
   sandbox/xint/doc/monty_8cpp.html | 57 -
   sandbox/xint/doc/monty_8cpp_source.html | 474 +++++-----
   sandbox/xint/doc/monty_8hpp.html | 25
   sandbox/xint/doc/monty_8hpp_source.html | 34
   sandbox/xint/doc/namespaceboost.html | 2
   sandbox/xint/doc/namespaceboost_1_1xint.html | 251 -----
   sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html | 1633 ---------------------------------------
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html | 2
   sandbox/xint/doc/namespacemembers.html | 325 +++++++
   sandbox/xint/doc/namespacemembers_func.html | 310 ++++++
   sandbox/xint/doc/namespacemembers_type.html | 8
   sandbox/xint/doc/namespacemembers_vars.html | 23
   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 | 22
   sandbox/xint/doc/nothrow__compare_8cpp.html | 4
   sandbox/xint/doc/nothrow__compare_8cpp_source.html | 50
   sandbox/xint/doc/nothrow__convert_8cpp.html | 2
   sandbox/xint/doc/nothrow__convert_8cpp_source.html | 88 +-
   sandbox/xint/doc/nothrow__gcd_8cpp.html | 2
   sandbox/xint/doc/nothrow__gcd_8cpp_source.html | 6
   sandbox/xint/doc/nothrow__integer_8cpp.html | 2
   sandbox/xint/doc/nothrow__integer_8cpp_source.html | 345 ++++----
   sandbox/xint/doc/nothrow__integer_8hpp.html | 4
   sandbox/xint/doc/nothrow__integer_8hpp_source.html | 426 +++++-----
   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 | 8
   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 | 8
   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 | 10
   sandbox/xint/doc/nothrow__random_8cpp.html | 2
   sandbox/xint/doc/nothrow__random_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__roots_8cpp.html | 2
   sandbox/xint/doc/nothrow__roots_8cpp_source.html | 4
   sandbox/xint/doc/operators_8cpp.html | 2
   sandbox/xint/doc/operators_8cpp_source.html | 2
   sandbox/xint/doc/powers_8cpp.html | 12
   sandbox/xint/doc/powers_8cpp_source.html | 236 ++--
   sandbox/xint/doc/primes.html | 4
   sandbox/xint/doc/primes_8cpp.html | 4
   sandbox/xint/doc/primes_8cpp_source.html | 200 ++--
   sandbox/xint/doc/primes_8dox.html | 2
   sandbox/xint/doc/primitives_8cpp.html | 14
   sandbox/xint/doc/primitives_8cpp_source.html | 761 +++++++++---------
   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__default__necessary.html | 2
   sandbox/xint/doc/r__default__necessary_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 | 10
   sandbox/xint/doc/random_8cpp_source.html | 356 ++++----
   sandbox/xint/doc/random_8dox.html | 2
   sandbox/xint/doc/random_8hpp.html | 18
   sandbox/xint/doc/random_8hpp_source.html | 76
   sandbox/xint/doc/rationale.html | 2
   sandbox/xint/doc/rationale_8dox.html | 2
   sandbox/xint/doc/roots_8cpp.html | 10
   sandbox/xint/doc/roots_8cpp_source.html | 86 +-
   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 | 4
   sandbox/xint/doc/zero_8dox.html | 2
   sandbox/xint/src/base_integer.cpp | 28
   sandbox/xint/src/bit_manipulations.cpp | 2
   sandbox/xint/src/compare.cpp | 2
   sandbox/xint/src/convert.cpp | 8
   sandbox/xint/src/data_t.cpp | 4
   sandbox/xint/src/gcd.cpp | 9
   sandbox/xint/src/integer.cpp | 4
   sandbox/xint/src/modular.cpp | 2
   sandbox/xint/src/monty.cpp | 10
   sandbox/xint/src/nothrow_compare.cpp | 18
   sandbox/xint/src/nothrow_convert.cpp | 2
   sandbox/xint/src/nothrow_integer.cpp | 7
   sandbox/xint/src/powers.cpp | 4
   sandbox/xint/src/primes.cpp | 8
   sandbox/xint/src/primitives.cpp | 7
   sandbox/xint/src/random.cpp | 12
   sandbox/xint/src/roots.cpp | 2
   sandbox/xint/test/test_main.cpp | 74 +
   230 files changed, 5084 insertions(+), 6916 deletions(-)

Added: sandbox/xint/PERFORMANCE TESTING.txt
==============================================================================
--- (empty file)
+++ sandbox/xint/PERFORMANCE TESTING.txt 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -0,0 +1,7 @@
+To reproduce the test results that I offered on the Boost Developer's mailing
+list, use this version of the library. Uncomment one of the XINT_TEST_* defines
+near the top of internals.hpp and recompile the library (see README.txt for the
+proper setup for that), then compile and run the test program (use the Jamroot
+file in the test directory for that).
+
+The testing code is in test/test_main.cpp.

Added: sandbox/xint/boost/move/move.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/move/move.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -0,0 +1,1087 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright David Abrahams, Vicente Botet, Ion Gaztanaga 2009.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/move for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+//
+// Parts of this file come from Adobe's Move library:
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+// Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
+// or a copy at http://stlab.adobe.com/licenses.html)
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! \file
+
+#ifndef BOOST_MOVE_DETAIL_MOVE_HPP
+#define BOOST_MOVE_DETAIL_MOVE_HPP
+
+#include <boost/config.hpp>
+#include <algorithm> //copy, copy_backward
+#include <memory> //uninitialized_copy
+#include <iterator> //std::iterator
+#include <boost/mpl/if.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/has_trivial_destructor.hpp>
+#include <boost/utility/addressof.hpp>
+
+//! Defining or undefining this macro will change Boost.Move behaviour
+//! for copyable and movable classes when assigning from non-const rvalues:
+//! \code
+//! copyable_and_movable produce(){ return copyable_and_movable(); }
+//! \endcode
+//! If the macro is NOT defined:
+//! \code
+//! copyable_and_movable cm;
+//! cm = copyable_and_movable(); //object is COPIED (missed optimization)
+//! \endcode
+//! If the macro IS defined:
+//! \code
+//! copyable_and_movable cm;
+//! cm = copyable_and_movable(); //object is MOVED
+//! \endcode
+//! However, the second option has also some downsides. See documentation for more details.
+#define BOOST_MOVE_OPTIMIZED_EMULATION
+
+/// @cond
+
+//Define to easily port between Boost.Move and internal Boost.Interprocess move emulation
+//#define BOOST_MOVE_IN_BOOST_INTERPROCESS_NAMESPACE
+
+#ifdef BOOST_MOVE_IN_BOOST_INTERPROCESS_NAMESPACE
+
+#define INTERPROCESS_NAMESPACE_BEGIN namespace interprocess {
+#define INTERPROCESS_NAMESPACE_END }// namespace interprocess {
+#define BOOST_MOVE_NAMESPACE boost::interprocess
+
+#else //BOOST_MOVE_IN_BOOST_INTERPROCESS_NAMESPACE
+
+#define INTERPROCESS_NAMESPACE_BEGIN
+#define INTERPROCESS_NAMESPACE_END
+#define BOOST_MOVE_NAMESPACE boost
+
+#endif //BOOST_MOVE_IN_BOOST_INTERPROCESS_NAMESPACE
+
+namespace boost {
+INTERPROCESS_NAMESPACE_BEGIN
+namespace move_detail {
+
+template <class T>
+struct identity
+{
+ typedef T type;
+};
+
+template <class T, class U>
+class is_convertible
+{
+ typedef char true_t;
+ class false_t { char dummy[2]; };
+ static true_t dispatch(U);
+ static false_t dispatch(...);
+ static T trigger();
+ public:
+ enum { value = sizeof(dispatch(trigger())) == sizeof(true_t) };
+};
+
+} //namespace move_detail {
+INTERPROCESS_NAMESPACE_END
+} //namespace boost {
+
+/// @endcond
+
+#if defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+
+#include <boost/type_traits/is_fundamental.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost {
+INTERPROCESS_NAMESPACE_BEGIN
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// struct rv
+//
+//////////////////////////////////////////////////////////////////////////////
+template <class T>
+class rv : public T
+{
+ rv();
+ ~rv();
+ rv(rv const&);
+ void operator=(rv const&);
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move_detail::is_rv
+//
+//////////////////////////////////////////////////////////////////////////////
+
+namespace move_detail {
+
+template <class T>
+struct is_rv
+{
+ static const bool value = false;
+};
+
+template <class T>
+struct is_rv< rv<T> >
+{
+ static const bool value = true;
+};
+
+} //namespace move_detail {
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// is_movable
+//
+//////////////////////////////////////////////////////////////////////////////
+template<class T>
+struct is_movable
+ : public ::boost::mpl::bool_<move_detail::is_convertible<T, rv<T>&>::value>
+{
+};
+
+template<class T>
+struct is_movable< rv<T> >
+ : public ::boost::mpl::bool_<false>
+{
+};
+
+template <class T>
+struct has_nothrow_move
+ : public ::boost::mpl::bool_<false>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move()
+//
+//////////////////////////////////////////////////////////////////////////////
+template <class T>
+typename ::boost::disable_if<is_movable<T>, T&>::type move(T& x)
+{
+ return x;
+}
+
+template <class T>
+typename enable_if<is_movable<T>, rv<T>&>::type move(T& x)
+{
+ return *static_cast<rv<T>* >(boost::addressof(x));
+}
+
+template <class T>
+typename enable_if<is_movable<T>, rv<T>&>::type move(rv<T>& x)
+{
+ return x;
+}
+
+
+#define BOOST_RV_REF(TYPE)\
+ ::BOOST_MOVE_NAMESPACE::rv< TYPE >& \
+//
+
+#define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+ ::BOOST_MOVE_NAMESPACE::rv< TYPE<ARG1, ARG2> >& \
+//
+
+#define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+ ::BOOST_MOVE_NAMESPACE::rv< TYPE<ARG1, ARG2, ARG3> >& \
+//
+
+
+#define BOOST_FWD_REF(TYPE)\
+ const TYPE & \
+//
+
+#define BOOST_CATCH_CONST_RLVALUE(TYPE)\
+ const ::BOOST_MOVE_NAMESPACE::rv< TYPE >& \
+//
+
+#ifdef BOOST_MOVE_OPTIMIZED_EMULATION
+
+#define BOOST_COPY_ASSIGN_REF(TYPE)\
+ const ::BOOST_MOVE_NAMESPACE::rv< TYPE >& \
+//
+
+#define BOOST_MOVE_MACRO_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+ const ::BOOST_MOVE_NAMESPACE::rv< TYPE<ARG1, ARG2> >& \
+//
+
+#define BOOST_MOVE_MACRO_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+ const ::BOOST_MOVE_NAMESPACE::rv< TYPE<ARG1, ARG2, ARG3> >& \
+//
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// forward()
+//
+//////////////////////////////////////////////////////////////////////////////
+
+template <class T>
+typename enable_if< ::BOOST_MOVE_NAMESPACE::move_detail::is_rv<T>, T &>::type
+ forward(const typename move_detail::identity<T>::type &x)
+{
+ return const_cast<T&>(x);
+}
+
+template <class T>
+typename disable_if< ::BOOST_MOVE_NAMESPACE::move_detail::is_rv<T>, const T &>::type
+ forward(const typename move_detail::identity<T>::type &x)
+{
+ return x;
+}
+
+#else //BOOST_MOVE_OPTIMIZED_EMULATION
+
+#define BOOST_COPY_ASSIGN_REF(TYPE)\
+ const TYPE & \
+//
+
+#define BOOST_MOVE_MACRO_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+ const TYPE< ARG1, ARG2 >& \
+//
+
+#define BOOST_MOVE_MACRO_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+ const TYPE< ARG1, ARG2, ARG3 > & \
+//
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// forward()
+//
+//////////////////////////////////////////////////////////////////////////////
+/*
+template <class T>
+typename enable_if< ::BOOST_MOVE_NAMESPACE::move_detail::is_rv<T>, T &>::type
+ forward(const typename move_detail::identity<T>::type &x)
+{
+ return const_cast<T&>(x);
+}
+
+template <class T>
+typename disable_if< ::BOOST_MOVE_NAMESPACE::move_detail::is_rv<T>, const T &>::type
+ forward(const typename move_detail::identity<T>::type &x)
+{
+ return x;
+}
+*/
+
+//Catches const lvalues for movable types
+template <class T>
+const T&
+ forward( BOOST_CATCH_CONST_RLVALUE(T) x
+ , typename ::boost::enable_if_c< ::BOOST_MOVE_NAMESPACE::is_movable<T>::value >::type* = 0)
+{
+ return static_cast<const T&>(x);
+}
+
+//Catches const lvalues for non-movable types
+template <class T>
+const T&
+ forward( const T &x
+ , typename ::boost::enable_if_c< !::BOOST_MOVE_NAMESPACE::is_movable<T>::value &&
+ !::boost::move_detail::is_rv<T>::value
+ >::type* = 0)
+{
+ return static_cast<const T&>(x);
+}
+
+//Catches forwarded ::boost::rv<T> via BOOST_FWD_REFs
+template <class T>
+T &
+ forward( const T &t
+ , typename ::boost::enable_if_c< ::boost::move_detail::is_rv<T>::value >::type* = 0)
+{
+ return const_cast<T&>(t);
+}
+
+//Catches forwarded ::boost::rv<T>
+template <class T, class U>
+const T &
+ forward( const U &u
+ , typename ::boost::enable_if_c< ::boost::is_same< ::boost::rv<T>, U >::value >::type * = 0)
+{
+ return static_cast<const T&>(u);
+}
+
+//Catches non-const lvalues
+template <class T>
+T&
+ forward( typename move_detail::identity<T>::type &x
+ , typename ::boost::enable_if_c< !::boost::move_detail::is_rv<T>::value >::type* = 0)
+{
+ return x;
+}
+
+//Catches non-const rvalues
+template <class T>
+typename enable_if<is_movable<T>, ::boost::rv<T> & >::type
+ forward(BOOST_RV_REF(T) x)
+{ return x; }
+
+#endif
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// BOOST_MOVABLE_BUT_NOT_COPYABLE
+//
+//////////////////////////////////////////////////////////////////////////////
+#define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
+ private:\
+ TYPE(TYPE &);\
+ TYPE& operator=(TYPE &);\
+ public:\
+ operator ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() \
+ { return *reinterpret_cast< ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ operator const ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() const \
+ { return *reinterpret_cast<const ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ private:\
+//
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// BOOST_COPYABLE_AND_MOVABLE
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifdef BOOST_MOVE_OPTIMIZED_EMULATION
+
+#define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
+ public:\
+ TYPE& operator=(TYPE &t)\
+ { this->operator=(static_cast<const ::BOOST_MOVE_NAMESPACE::rv<TYPE> &>(const_cast<const TYPE &>(t))); return *this;}\
+ public:\
+ operator ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() \
+ { return *reinterpret_cast< ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ operator const ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() const \
+ { return *reinterpret_cast<const ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ private:\
+//
+
+#else //#ifdef BOOST_MOVE_OPTIMIZED_EMULATION
+
+#define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
+ public:\
+ operator ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() \
+ { return *reinterpret_cast< ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ operator const ::BOOST_MOVE_NAMESPACE::rv<TYPE>&() const \
+ { return *reinterpret_cast<const ::BOOST_MOVE_NAMESPACE::rv<TYPE>* >(this); }\
+ private:\
+//
+
+#endif
+
+
+INTERPROCESS_NAMESPACE_END
+} //namespace boost
+
+#else //BOOST_NO_RVALUE_REFERENCES
+
+#include <boost/type_traits/remove_reference.hpp>
+
+namespace boost {
+INTERPROCESS_NAMESPACE_BEGIN
+
+/// @cond
+
+namespace move_detail {
+
+template<class T>
+struct is_lvalue_reference
+ : public ::boost::mpl::bool_<false>
+{};
+
+template<class T>
+struct is_lvalue_reference<T&>
+ : public ::boost::mpl::bool_<true>
+{};
+
+typedef char one;
+struct two {one _[2];};
+
+template <class T>
+struct internal_member_value_traits
+{
+ template <class U> static one test(...);
+ template <class U> static two test(typename U::boost_move_emulation_t* = 0);
+ static const bool value = sizeof(test<T>(0)) == sizeof(two);
+};
+
+} //namespace move_detail {
+
+/// @endcond
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// is_movable
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! For compilers with rvalue references, this traits class returns true
+//! if BOOST_ENABLE_MOVE_EMULATION is activated.
+//!
+//! For other compilers returns true if T is convertible to <i>::boost::rv<T>&</i>
+template<class T>
+struct is_movable
+ : public ::boost::mpl::bool_<move_detail::internal_member_value_traits<T>::value>
+{
+};
+
+//! By default this traits returns false. Classes with non-thworing move construction
+//! and assignment should specialize this trait to obtain some performance improvements.
+template <class T>
+struct has_nothrow_move
+ : public ::boost::mpl::bool_<false>
+{};
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move
+//
+//////////////////////////////////////////////////////////////////////////////
+
+
+#if defined(BOOST_MOVE_DOXYGEN_INVOKED)
+//! This function provides a way to convert a reference into a rvalue reference
+//! in compilers with rvalue references. For other compilers converts T & into
+//! <i>::boost::rv<T> &</i> so that move emulation is activated.
+template <class T> inline
+rvalue_reference move (input_reference);
+
+#else //BOOST_MOVE_DOXYGEN_INVOKED
+
+#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ <= 5)
+
+//Old move approach, lvalues could bind to rvalue references
+template <class T> inline
+typename remove_reference<T>::type && move(T&& t)
+{ return t; }
+
+#else //Old move
+
+template <class T> inline
+typename remove_reference<T>::type && move(T&& t)
+{ return static_cast<typename remove_reference<T>::type &&>(t); }
+
+#endif //Old move
+
+#endif //BOOST_MOVE_DOXYGEN_INVOKED
+
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// forward
+//
+//////////////////////////////////////////////////////////////////////////////
+
+
+#if defined(BOOST_MOVE_DOXYGEN_INVOKED)
+//! This function provides limited form of forwarding that is usually enough for
+//! in-place construction and avoids the exponential overloading necessary for
+//! perfect forwarding in C++03.
+//!
+//! For compilers with rvalue references this function provides perfect forwarding.
+//!
+//! Otherwise:
+//! * If input_reference binds to const ::boost::rv<T> & then it output_reference is
+//! ::boost::rev<T> &
+//!
+//! * Else, input_reference is equal to output_reference is equal to input_reference.
+template <class T> inline output_reference forward(input_reference);
+
+#else
+
+#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ <= 5)
+
+//Old move approach, lvalues could bind to rvalue references
+
+template <class T> inline
+T&& forward (typename move_detail::identity<T>::type&& t)
+{ return t; }
+
+#else //Old move
+
+template <class T, class U>
+inline T&& forward(U&& t
+ , typename enable_if_c<
+ move_detail::is_lvalue_reference<T>::value ? move_detail::is_lvalue_reference<U>::value : true>::type * = 0
+ , typename enable_if_c<
+ move_detail::is_convertible
+ <typename remove_reference<U>::type*, typename remove_reference<T>::type*>::value>::type * = 0)
+{ return static_cast<T&&>(t); }
+
+#endif //Old move
+
+#endif //BOOST_MOVE_DOXYGEN_INVOKED
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// BOOST_ENABLE_MOVE_EMULATION
+//
+//////////////////////////////////////////////////////////////////////////////
+
+///@cond
+
+#define BOOST_ENABLE_MOVE_EMULATION(TYPE)\
+ typedef int boost_move_emulation_t;
+\
+//
+
+/// @endcond
+
+//! This macro marks a type as movable but not copyable, disabling copy construction
+//! and assignment. The user will need to write a move constructor/assignment as explained
+//! in the documentation to fully write a movable but not copyable class.
+#define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
+ public:\
+ typedef int boost_move_emulation_t;\
+ private:\
+ TYPE(const TYPE &);\
+ TYPE& operator=(const TYPE &);\
+//
+
+//! This macro marks a type as copyable and movable.
+//! The user will need to write a move constructor/assignment and a copy assignment
+//! as explained in the documentation to fully write a copyable and movable class.
+#define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
+ typedef int boost_move_emulation_t;
+//
+
+/// @cond
+
+#define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+ TYPE<ARG1, ARG2> && \
+//
+
+#define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+ TYPE<ARG1, ARG2, ARG3> && \
+//
+
+/// @endcond
+
+//!This macro is used to achieve portable syntax in move
+//!constructors and assignments for classes marked as
+//!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE
+#define BOOST_RV_REF(TYPE)\
+ TYPE && \
+//
+
+//!This macro is used to achieve portable syntax in copy
+//!assignment for classes marked as BOOST_COPYABLE_AND_MOVABLE.
+#define BOOST_COPY_ASSIGN_REF(TYPE)\
+ const TYPE & \
+//
+
+/// @cond
+
+#define BOOST_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+ const TYPE<ARG1, ARG2> & \
+//
+
+#define BOOST_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+ TYPE<ARG1, ARG2, ARG3>& \
+//
+
+/// @endcond
+
+//! This macro is used to implement portable perfect forwarding
+//! as explained in the documentation.
+#define BOOST_FWD_REF(TYPE)\
+ TYPE && \
+//
+
+/// @cond
+
+#define BOOST_CATCH_CONST_RLVALUE(TYPE)\
+ const TYPE & \
+//
+
+/// @endcond
+
+INTERPROCESS_NAMESPACE_END
+} //namespace boost {
+
+#endif //BOOST_NO_RVALUE_REFERENCES
+
+namespace boost {
+INTERPROCESS_NAMESPACE_BEGIN
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move_iterator
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! Class template move_iterator is an iterator adaptor with the same behavior
+//! as the underlying iterator except that its dereference operator implicitly
+//! converts the value returned by the underlying iterator's dereference operator
+//! to an rvalue reference. Some generic algorithms can be called with move
+//! iterators to replace copying with moving.
+template <class It>
+class move_iterator
+{
+ public:
+ typedef It iterator_type;
+ typedef typename std::iterator_traits<iterator_type>::value_type value_type;
+ #if !defined(BOOST_NO_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
+ typedef value_type && reference;
+ #else
+ typedef typename ::boost::mpl::if_
+ < ::BOOST_MOVE_NAMESPACE::is_movable<value_type>
+ , ::BOOST_MOVE_NAMESPACE::rv<value_type>&
+ , value_type & >::type reference;
+ #endif
+ typedef It pointer;
+ typedef typename std::iterator_traits<iterator_type>::difference_type difference_type;
+ typedef typename std::iterator_traits<iterator_type>::iterator_category iterator_category;
+
+ move_iterator()
+ {}
+
+ explicit move_iterator(It i)
+ : m_it(i)
+ {}
+
+ template <class U>
+ move_iterator(const move_iterator<U>& u)
+ : m_it(u.base())
+ {}
+
+ iterator_type base() const
+ { return m_it; }
+
+ reference operator*() const
+ {
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
+ return *m_it;
+ #else
+ return ::BOOST_MOVE_NAMESPACE::move(*m_it);
+ #endif
+ }
+
+ pointer operator->() const
+ { return m_it; }
+
+ move_iterator& operator++()
+ { ++m_it; return *this; }
+
+ move_iterator<iterator_type> operator++(int)
+ { move_iterator<iterator_type> tmp(*this); ++(*this); return tmp; }
+
+ move_iterator& operator--()
+ { --m_it; return *this; }
+
+ move_iterator<iterator_type> operator--(int)
+ { move_iterator<iterator_type> tmp(*this); --(*this); return tmp; }
+
+ move_iterator<iterator_type> operator+ (difference_type n) const
+ { return move_iterator<iterator_type>(m_it + n); }
+
+ move_iterator& operator+=(difference_type n)
+ { m_it += n; return *this; }
+
+ move_iterator<iterator_type> operator- (difference_type n) const
+ { return move_iterator<iterator_type>(m_it - n); }
+
+ move_iterator& operator-=(difference_type n)
+ { m_it -= n; return *this; }
+
+ reference operator[](difference_type n) const
+ {
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
+ return m_it[n];
+ #else
+ return ::BOOST_MOVE_NAMESPACE::move(m_it[n]);
+ #endif
+ }
+
+ friend bool operator==(const move_iterator& x, const move_iterator& y)
+ { return x.base() == y.base(); }
+
+ friend bool operator!=(const move_iterator& x, const move_iterator& y)
+ { return x.base() != y.base(); }
+
+ friend bool operator< (const move_iterator& x, const move_iterator& y)
+ { return x.base() < y.base(); }
+
+ friend bool operator<=(const move_iterator& x, const move_iterator& y)
+ { return x.base() <= y.base(); }
+
+ friend bool operator> (const move_iterator& x, const move_iterator& y)
+ { return x.base() > y.base(); }
+
+ friend bool operator>=(const move_iterator& x, const move_iterator& y)
+ { return x.base() >= y.base(); }
+
+ friend difference_type operator-(const move_iterator& x, const move_iterator& y)
+ { return x.base() - y.base(); }
+
+ friend move_iterator operator+(difference_type n, const move_iterator& x)
+ { return move_iterator(x.base() + n); }
+
+ private:
+ It m_it;
+};
+
+
+//is_move_iterator
+namespace move_detail {
+
+template <class I>
+struct is_move_iterator
+ : public ::boost::mpl::bool_<false>
+{
+};
+
+template <class I>
+struct is_move_iterator< ::BOOST_MOVE_NAMESPACE::move_iterator<I> >
+ : public ::boost::mpl::bool_<true>
+{
+};
+
+} //namespace move_detail {
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move_iterator
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//!
+//! <b>Returns</b>: move_iterator<It>(i).
+template<class It>
+move_iterator<It> make_move_iterator(const It &it)
+{ return move_iterator<It>(it); }
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// back_move_insert_iterator
+//
+//////////////////////////////////////////////////////////////////////////////
+
+
+//! A move insert iterator that move constructs elements at the
+//! back of a container
+template <typename C> // C models Container
+class back_move_insert_iterator
+ : public std::iterator<std::output_iterator_tag, void, void, void, void>
+{
+ C* container_m;
+
+ public:
+ typedef C container_type;
+
+ explicit back_move_insert_iterator(C& x) : container_m(&x) { }
+
+ back_move_insert_iterator& operator=(typename C::reference x)
+ { container_m->push_back(BOOST_MOVE_NAMESPACE::move(x)); return *this; }
+
+ back_move_insert_iterator& operator*() { return *this; }
+ back_move_insert_iterator& operator++() { return *this; }
+ back_move_insert_iterator& operator++(int) { return *this; }
+};
+
+//!
+//! <b>Returns</b>: back_move_insert_iterator<C>(x).
+template <typename C> // C models Container
+inline back_move_insert_iterator<C> back_move_inserter(C& x)
+{
+ return back_move_insert_iterator<C>(x);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// front_move_insert_iterator
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! A move insert iterator that move constructs elements int the
+//! front of a container
+template <typename C> // C models Container
+class front_move_insert_iterator
+ : public std::iterator<std::output_iterator_tag, void, void, void, void>
+{
+ C* container_m;
+
+public:
+ typedef C container_type;
+
+ explicit front_move_insert_iterator(C& x) : container_m(&x) { }
+
+ front_move_insert_iterator& operator=(typename C::reference x)
+ { container_m->push_front(BOOST_MOVE_NAMESPACE::move(x)); return *this; }
+
+ front_move_insert_iterator& operator*() { return *this; }
+ front_move_insert_iterator& operator++() { return *this; }
+ front_move_insert_iterator& operator++(int) { return *this; }
+};
+
+//!
+//! <b>Returns</b>: front_move_insert_iterator<C>(x).
+template <typename C> // C models Container
+inline front_move_insert_iterator<C> front_move_inserter(C& x)
+{
+ return front_move_insert_iterator<C>(x);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// insert_move_iterator
+//
+//////////////////////////////////////////////////////////////////////////////
+template <typename C> // C models Container
+class move_insert_iterator
+ : public std::iterator<std::output_iterator_tag, void, void, void, void>
+{
+ C* container_m;
+ typename C::iterator pos_;
+
+ public:
+ typedef C container_type;
+
+ explicit move_insert_iterator(C& x, typename C::iterator pos)
+ : container_m(&x), pos_(pos)
+ {}
+
+ move_insert_iterator& operator=(typename C::reference x)
+ {
+ pos_ = container_m->insert(pos_, ::BOOST_MOVE_NAMESPACE::move(x));
+ ++pos_;
+ return *this;
+ }
+
+ move_insert_iterator& operator*() { return *this; }
+ move_insert_iterator& operator++() { return *this; }
+ move_insert_iterator& operator++(int) { return *this; }
+};
+
+//!
+//! <b>Returns</b>: move_insert_iterator<C>(x, it).
+template <typename C> // C models Container
+inline move_insert_iterator<C> move_inserter(C& x, typename C::iterator it)
+{
+ return move_insert_iterator<C>(x, it);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move
+//
+//////////////////////////////////////////////////////////////////////////////
+
+
+//! <b>Effects</b>: Moves elements in the range [first,last) into the range [result,result + (last -
+//! first)) starting from first and proceeding to last. For each non-negative integer n < (last-first),
+//! performs *(result + n) = ::boost::move (*(first + n)).
+//!
+//! <b>Effects</b>: result + (last - first).
+//!
+//! <b>Requires</b>: result shall not be in the range [first,last).
+//!
+//! <b>Complexity</b>: Exactly last - first move assignments.
+template <typename I, // I models InputIterator
+ typename O> // O models OutputIterator
+O move(I f, I l, O result)
+{
+ while (f != l) {
+ *result = ::BOOST_MOVE_NAMESPACE::move(*f);
+ ++f; ++result;
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// move_backward
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! <b>Effects</b>: Moves elements in the range [first,last) into the range
+//! [result - (last-first),result) starting from last - 1 and proceeding to
+//! first. For each positive integer n <= (last - first),
+//! performs *(result - n) = ::boost::move(*(last - n)).
+//!
+//! <b>Requires</b>: result shall not be in the range [first,last).
+//!
+//! <b>Returns</b>: result - (last - first).
+//!
+//! <b>Complexity</b>: Exactly last - first assignments.
+template <typename I, // I models BidirectionalIterator
+typename O> // O models BidirectionalIterator
+O move_backward(I f, I l, O result)
+{
+ while (f != l) {
+ --l; --result;
+ *result = ::BOOST_MOVE_NAMESPACE::move(*l);
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// uninitialized_move
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//! <b>Effects</b>:
+//! \code
+//! for (; first != last; ++result, ++first)
+//! new (static_cast<void*>(&*result))
+//! typename iterator_traits<ForwardIterator>::value_type(boost::move(*first));
+//! \endcode
+//!
+//! <b>Returns</b>: result
+template
+ <typename I, // I models InputIterator
+ typename F> // F models ForwardIterator
+F uninitialized_move(I f, I l, F r
+ /// @cond
+ ,typename enable_if<is_movable<typename std::iterator_traits<I>::value_type> >::type* = 0
+ /// @endcond
+ )
+{
+ typedef typename std::iterator_traits<I>::value_type input_value_type;
+ while (f != l) {
+ ::new(static_cast<void*>(&*r)) input_value_type(BOOST_MOVE_NAMESPACE::move(*f));
+ ++f; ++r;
+ }
+ return r;
+}
+
+/// @cond
+
+template
+ <typename I, // I models InputIterator
+ typename F> // F models ForwardIterator
+F uninitialized_move(I f, I l, F r,
+ typename disable_if<is_movable<typename std::iterator_traits<I>::value_type> >::type* = 0)
+{
+ return std::uninitialized_copy(f, l, r);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// uninitialized_copy_or_move
+//
+//////////////////////////////////////////////////////////////////////////////
+
+namespace move_detail {
+
+template
+<typename I, // I models InputIterator
+typename F> // F models ForwardIterator
+F uninitialized_move_move_iterator(I f, I l, F r,
+ typename enable_if< is_movable<typename I::value_type> >::type* = 0)
+{
+ return ::BOOST_MOVE_NAMESPACE::uninitialized_move(f, l, r);
+}
+
+template
+<typename I, // I models InputIterator
+typename F> // F models ForwardIterator
+F uninitialized_move_move_iterator(I f, I l, F r,
+ typename disable_if< is_movable<typename I::value_type> >::type* = 0)
+{
+ return std::uninitialized_copy(f.base(), l.base(), r);
+}
+
+} //namespace move_detail {
+
+template
+<typename I, // I models InputIterator
+typename F> // F models ForwardIterator
+F uninitialized_copy_or_move(I f, I l, F r,
+ typename enable_if< move_detail::is_move_iterator<I> >::type* = 0)
+{
+ return ::BOOST_MOVE_NAMESPACE::move_detail::uninitialized_move_move_iterator(f, l, r);
+}
+
+/// @endcond
+
+//! <b>Effects</b>:
+//! \code
+//! for (; first != last; ++result, ++first)
+//! new (static_cast<void*>(&*result))
+//! typename iterator_traits<ForwardIterator>::value_type(*first);
+//! \endcode
+//!
+//! <b>Returns</b>: result
+//!
+//! <b>Note</b>: This function is provided because
+//! <i>std::uninitialized_copy</i> from some STL implementations
+//! is not compatible with <i>move_iterator</i>
+template
+<typename I, // I models InputIterator
+typename F> // F models ForwardIterator
+F uninitialized_copy_or_move(I f, I l, F r
+ /// @cond
+ ,typename disable_if< move_detail::is_move_iterator<I> >::type* = 0
+ /// @endcond
+ )
+{
+ return std::uninitialized_copy(f, l, r);
+}
+
+//! If this trait yields to true
+//! (<i>has_trivial_destructor_after_move &lt;T&gt;::value == true</i>)
+//! means that if T is used as argument of a move construction/assignment,
+//! there is no need to call T's destructor.
+//! This optimization tipically is used to improve containers' performance.
+//!
+//! By default this trait is true if the type has trivial destructor,
+//! every class should specialize this trait if it wants to improve performance
+//! when inserted in containers.
+template <class T>
+struct has_trivial_destructor_after_move
+ : public ::boost::has_trivial_destructor<T>
+{};
+
+#ifndef BOOST_MOVE_DOXYGEN_INVOKED
+
+#ifdef BOOST_MOVE_IN_BOOST_INTERPROCESS_NAMESPACE
+
+#define BOOST_INTERPROCESS_ENABLE_MOVE_EMULATION(TYPE) BOOST_ENABLE_MOVE_EMULATION(TYPE)
+#define BOOST_INTERPROCESS_MOVABLE_BUT_NOT_COPYABLE(TYPE) BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)
+#define BOOST_INTERPROCESS_COPYABLE_AND_MOVABLE(TYPE) BOOST_COPYABLE_AND_MOVABLE(TYPE)
+#define BOOST_INTERPROCESS_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2) BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)
+#define BOOST_INTERPROCESS_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3) BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)
+#define BOOST_INTERPROCESS_RV_REF(TYPE) BOOST_RV_REF(TYPE)
+#define BOOST_INTERPROCESS_COPY_ASSIGN_REF(TYPE) BOOST_COPY_ASSIGN_REF(TYPE)
+#define BOOST_INTERPROCESS_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2) BOOST_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)
+#define BOOST_INTERPROCESS_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3) BOOST_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)
+#define BOOST_INTERPROCESS_FWD_REF(TYPE) BOOST_FWD_REF(TYPE)
+#define BOOST_INTERPROCESS_CATCH_CONST_RLVALUE(TYPE) BOOST_CATCH_CONST_RLVALUE(TYPE)
+
+#endif
+
+#define BOOST_MOVE_MACRO_ENABLE_MOVE_EMULATION(TYPE) BOOST_ENABLE_MOVE_EMULATION(TYPE)
+#define BOOST_MOVE_MACRO_MOVABLE_BUT_NOT_COPYABLE(TYPE) BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)
+#define BOOST_MOVE_MACRO_COPYABLE_AND_MOVABLE(TYPE) BOOST_COPYABLE_AND_MOVABLE(TYPE)
+#define BOOST_MOVE_MACRO_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2) BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)
+#define BOOST_MOVE_MACRO_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3) BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)
+#define BOOST_MOVE_MACRO_RV_REF(TYPE) BOOST_RV_REF(TYPE)
+#define BOOST_MOVE_MACRO_COPY_ASSIGN_REF(TYPE) BOOST_COPY_ASSIGN_REF(TYPE)
+#define BOOST_MOVE_MACRO_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2) BOOST_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)
+#define BOOST_MOVE_MACRO_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3) BOOST_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)
+#define BOOST_MOVE_MACRO_FWD_REF(TYPE) BOOST_FWD_REF(TYPE)
+#define BOOST_MOVE_MACRO_CATCH_CONST_RLVALUE(TYPE) BOOST_CATCH_CONST_RLVALUE(TYPE)
+
+#endif //BOOST_MOVE_DOXYGEN_INVOKED
+
+INTERPROCESS_NAMESPACE_END
+} //namespace boost {
+
+#endif //#ifndef BOOST_MOVE_HPP

Modified: sandbox/xint/boost/xint/integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/integer.hpp (original)
+++ sandbox/xint/boost/xint/integer.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -111,6 +111,8 @@
 
     private:
     BOOST_XINT_COPYABLE_AND_MOVABLE(integer)
+
+ static std::auto_ptr<integer> cZero, cOne;
 };
 
 //! \name Mathematical primitives

Modified: sandbox/xint/boost/xint/internals.hpp
==============================================================================
--- sandbox/xint/boost/xint/internals.hpp (original)
+++ sandbox/xint/boost/xint/internals.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -20,6 +20,11 @@
 #ifndef BOOST_INCLUDED_XINT_INTERNALS_HPP
 #define BOOST_INCLUDED_XINT_INTERNALS_HPP
 
+// For performance testing, uncomment one of these defines.
+//#define XINT_TEST_BASELINE
+//#define XINT_TEST_MOVE
+//#define XINT_TEST_COPY_ON_WRITE
+
 #include <string>
 #include <vector>
 #include <queue>
@@ -32,8 +37,20 @@
 #include <boost/function.hpp>
 #include <boost/type_traits.hpp>
 
-#ifdef XINT_THREADSAFE
+#if defined XINT_TEST_BASELINE
+ #define PERFORMANCE_TEST
+#elif defined XINT_TEST_COPY_ON_WRITE
+ #define PERFORMANCE_TEST
+ #define BOOST_XINT_USE_COPY_ON_WRITE
+#elif defined XINT_TEST_MOVE
+ #define PERFORMANCE_TEST
     #define BOOST_XINT_USE_MOVE
+#else
+ #ifdef XINT_THREADSAFE
+ #define BOOST_XINT_USE_MOVE
+ #else
+ #define BOOST_XINT_USE_COPY_ON_WRITE
+ #endif
 #endif
 
 #ifdef BOOST_XINT_USE_MOVE
@@ -84,6 +101,7 @@
 
 //! \brief The items within this namespace are meant for internal use only.
 namespace detail {
+//! @cond detail
 
 /*!
     This is the type used for calculations. It should be the largest
@@ -305,6 +323,7 @@
 
 size_t log10_bits(size_t bits);
 
+//! @endcond detail
 } // namespace detail
 
 /*! \brief The base class for all fixed_integer types.
@@ -385,6 +404,8 @@
 
 namespace boost {
 namespace xint {
+
+//! @cond detail
 namespace detail {
 
 template <typename T>
@@ -516,6 +537,8 @@
 }
 
 } // namespace detail
+//! @endcond detail
+
 } // namespace xint
 } // namespace boost
 

Modified: sandbox/xint/boost/xint/monty.hpp
==============================================================================
--- sandbox/xint/boost/xint/monty.hpp (original)
+++ sandbox/xint/boost/xint/monty.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -21,8 +21,10 @@
 #ifndef BOOST_INCLUDED_XINT_MONTY_HPP
 #define BOOST_INCLUDED_XINT_MONTY_HPP
 
+//! @cond detail
 namespace boost {
 namespace xint {
+namespace detail {
 
 //! \name Montgomery Reduction functions
 //!@{
@@ -35,7 +37,9 @@
 integer montgomeryPowerMod(const integer& x, const integer& e, const integer& m);
 //!@}
 
+} // namespace detail
 } // namespace xint
 } // namespace boost
+//! @endcond detail
 
 #endif // BOOST_INCLUDED_XINT_MONTY_HPP

Modified: sandbox/xint/boost/xint/nothrow_integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/nothrow_integer.hpp (original)
+++ sandbox/xint/boost/xint/nothrow_integer.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -119,6 +119,8 @@
 
     private:
     BOOST_XINT_COPYABLE_AND_MOVABLE(nothrow_integer)
+
+ static std::auto_ptr<nothrow_integer> cZero, cOne, cNaN;
 };
 
 //! \name Mathematical primitives
@@ -333,16 +335,16 @@
     if (in.peek()=='#') {
         // Must be either #NaN# or an error
         char buffer[6];
-
+
         // These are efficient and safe, but MSVC complains about them anyway.
         //std::streamsize size=in.readsome(buffer, 5);
         //buffer[size]=0;
-
+
         // Replacing them with these.
         char *p = buffer, *pe = p + 5;
         while (p != pe) in >> *p++;
         *p = 0;
-
+
         std::string str(buffer);
 
         if (str==detail::nan_text) n=nothrow_integer::nan();

Modified: sandbox/xint/boost/xint/random.hpp
==============================================================================
--- sandbox/xint/boost/xint/random.hpp (original)
+++ sandbox/xint/boost/xint/random.hpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -52,6 +52,7 @@
     impl_t *impl;
 };
 
+//! @cond detail
 namespace detail {
     //! The base class for random_generator.
     struct base_random_generator {
@@ -82,6 +83,7 @@
     */
     unsigned int get_random();
 } // namespace detail
+//! @endcond detail
 
 ////////////////////////////////////////////////////////////////////////////////
 // Template function definitions

Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/doc/acknowledgements.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -45,17 +45,19 @@
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
 <li>Anders Dalvander</li>
-<li>Vincente Botet Escriba</li>
+<li>Vincente Juan Botet Escribá</li>
 <li>Arash Partow</li>
 <li>Robert Stewart</li>
 <li>Frank Mori Hess</li>
 <li>Christopher Jefferson</li>
 <li>Daniel (Herring?)</li>
 <li>"OvermindDL1"</li>
+<li>Marius Stoica</li>
+<li>Kim Barrett</li>
 </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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/acknowledgements_8dox.html
==============================================================================
--- sandbox/xint/doc/acknowledgements_8dox.html (original)
+++ sandbox/xint/doc/acknowledgements_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/annotated.html
==============================================================================
--- sandbox/xint/doc/annotated.html (original)
+++ sandbox/xint/doc/annotated.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,12 +28,7 @@
 <div class="contents">
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td class="indexvalue">Holds the results from a division-with-remainder call </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td class="indexvalue">The base class for all integer classes </td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td class="indexvalue">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td class="indexvalue">The base class for the variable-length integer classes </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td class="indexvalue">Used internally to reorder bits into different-sized groupings </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td class="indexvalue">Holds the magnitude digits of an integer </td></tr>
   <tr><td class="indexkey"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td class="indexvalue">A fixed-size integer type </td></tr>
@@ -43,7 +38,6 @@
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></td><td class="indexvalue">Makes a negated temporary integer that can always share storage </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td class="indexvalue">The nothrow_integer class </td></tr>
@@ -51,13 +45,11 @@
   <tr><td class="indexkey"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td class="indexvalue">Support class for the random generator code </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td class="indexvalue">A convenience class for cryptographically-secure random numbers </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td class="indexvalue">Makes a temporary integer that can always share storage </td></tr>
   <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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,20 +38,13 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a> (size_t bits)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the <code>base_integer</code> member functions. </p>
 
 <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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -39,344 +39,341 @@
 <a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/internals.hpp&quot;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <a name="l00020"></a>00020
-<a name="l00021"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html">00021</a> <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"> #define XINT_DISABLE_COPY_ON_WRITE</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a><a class="code" href="namespaceboost.html">00025</a> <span class="keyword">namespace </span>boost {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>{
-<a name="l00030"></a>00030 <span class="keyword">struct </span>zerodata_t: <span class="keyword">public</span> data_t {
-<a name="l00031"></a>00031 <span class="keyword">public</span>:
-<a name="l00032"></a>00032 zerodata_t() { copies=1; fixed_mask=0; length=max_length=1; *magnitude=0; }
-<a name="l00033"></a>00033 };
-<a name="l00034"></a>00034
-<a name="l00035"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">00035</a> zerodata_t* zerodata() {
-<a name="l00036"></a>00036 <span class="keyword">static</span> std::auto_ptr&lt;zerodata_t&gt; z(<span class="keyword">new</span> zerodata_t);
-<a name="l00037"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">00037</a> <span class="keywordflow">return</span> z.get();
-<a name="l00038"></a>00038 }
+<a name="l00021"></a><a class="code" href="namespaceboost_1_1xint.html">00021</a> <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">struct </span>variable_zerodata_t: <span class="keyword">public</span> data_t {
+<a name="l00028"></a>00028 <span class="keyword">public</span>:
+<a name="l00029"></a>00029 variable_zerodata_t() { copies=1; fixed_mask=0; length=max_length=1;
+<a name="l00030"></a>00030 *magnitude=0; }
+<a name="l00031"></a>00031 };
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 variable_zerodata_t* variable_zerodata() {
+<a name="l00034"></a>00034 <span class="keyword">static</span> std::auto_ptr&lt;variable_zerodata_t&gt; z(<span class="keyword">new</span> variable_zerodata_t);
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> z.get();
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
 <a name="l00039"></a>00039
-<a name="l00040"></a>00040 } <span class="comment">// namespace</span>
+<a name="l00040"></a>00040 base_integer::base_integer(): flags(0), data(0) { }
 <a name="l00041"></a>00041
-<a name="l00042"></a>00042 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer::base_integer</a>(): flags(0), data(0) { }
-<a name="l00043"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">00043</a>
-<a name="l00044"></a>00044 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer::base_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; c, <span class="keywordtype">bool</span> fixed): flags(0), data(0)
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keywordflow">if</span> (fixed) flags |= <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a>;
-<a name="l00047"></a>00047 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
-<a name="l00048"></a>00048 }
-<a name="l00049"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">00049</a>
-<a name="l00050"></a>00050 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer::base_integer</a>(<span class="keywordtype">size_t</span> count, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask): flags(flag_fixedlength),
-<a name="l00051"></a>00051 data(0)
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(mask, count, 1));
-<a name="l00054"></a>00054 }
-<a name="l00055"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">00055</a>
-<a name="l00056"></a>00056 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer::base_integer</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *adopt, <span class="keywordtype">bool</span> neg): flags(0), data(0) {
-<a name="l00057"></a>00057 <span class="keywordflow">if</span> (adopt &amp;&amp; adopt-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != 0) flags |= <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a>;
-<a name="l00058"></a>00058 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(adopt);
-<a name="l00059"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">00059</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(neg);
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">base_integer::~base_integer</a>() {
-<a name="l00063"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">00063</a> <span class="keywordflow">if</span> (data &amp;&amp; --data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(data);
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">base_integer::_get_digit</a>(<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>[index];
-<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">00068</a> }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">base_integer::_get_digit</a>(<span class="keywordtype">size_t</span> index, <span class="keywordtype">bool</span>)<span class="keyword"> const </span>{
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (index &gt;= data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>) <span class="keywordflow">return</span> 0;
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>[index];
-<a name="l00073"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">00073</a> }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>* <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">base_integer::_get_writable_digits</a>() {
-<a name="l00076"></a>00076 assert(!<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>());
-<a name="l00077"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">00077</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>;
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>* <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">base_integer::_get_digits</a>()<span class="keyword"> const </span>{
-<a name="l00081"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">00081</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">base_integer::_get_length</a>()<span class="keyword"> const </span>{
-<a name="l00085"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">00085</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>;
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">base_integer::_get_max_length</a>()<span class="keyword"> const </span>{
-<a name="l00089"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">00089</a> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() ? <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() : (std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">base_integer::_set_length</a>(<span class="keywordtype">size_t</span> digits) {
-<a name="l00093"></a>00093 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = digits;
-<a name="l00094"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">00094</a> }
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">base_integer::_log2</a>()<span class="keyword"> const </span>{
-<a name="l00097"></a>00097 <span class="keywordtype">size_t</span> len = <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() - 1;
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * len) + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">log2</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(len));
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">base_integer::_set_unsigned</a>(boost::uintmax_t n, <span class="keywordtype">bool</span> negative) {
-<a name="l00102"></a>00102 <span class="comment">// Assumes that the proper allocation &amp; sizing was already done</span>
-<a name="l00103"></a>00103 assert(!<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>());
-<a name="l00104"></a>00104 <span class="keywordflow">if</span> (data == 0) <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">detail::digits_in_uintmax</a>));
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(n) == n) {
-<a name="l00106"></a>00106 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = 1;
-<a name="l00107"></a>00107 *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(n);
-<a name="l00108"></a>00108 } <span class="keywordflow">else</span> {
-<a name="l00109"></a>00109 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *i = data-&gt;magnitude, *ie = i + data-&gt;max_length;
-<a name="l00110"></a>00110 <span class="keywordflow">while</span> (n != 0 &amp;&amp; i != ie) {
-<a name="l00111"></a>00111 *i++ = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(n &amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>);
-<a name="l00112"></a>00112 n &gt;&gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00113"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">00113</a> }
-<a name="l00114"></a>00114 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = i - data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>;
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(negative);
-<a name="l00117"></a>00117 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">base_integer::_set_signed</a>(boost::intmax_t n) {
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (n &gt;= 0) {
-<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
-<a name="l00123"></a>00123 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;boost::intmax_t&gt;::min)()) {
-<a name="l00124"></a>00124 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
-<a name="l00125"></a>00125 <span class="comment">// what you&#39;d think it is.</span>
-<a name="l00126"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">00126</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(-(n+1), <span class="keyword">true</span>);
-<a name="l00127"></a>00127 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>();
-<a name="l00128"></a>00128 } <span class="keywordflow">else</span> {
-<a name="l00129"></a>00129 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(-n, <span class="keyword">true</span>);
-<a name="l00130"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">00130</a> }
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">base_integer::_is_unique</a>()<span class="keyword"> const </span>{
-<a name="l00134"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">00134</a> <span class="keywordflow">return</span> (!data || data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> &lt;= 1);
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">base_integer::_is_zero</a>()<span class="keyword"> const </span>{
-<a name="l00138"></a>00138 <span class="keywordflow">return</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> == 1 &amp;&amp; *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> == 0);
-<a name="l00139"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">00139</a> }
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">base_integer::_is_fixed</a>()<span class="keyword"> const </span>{
-<a name="l00142"></a>00142 <span class="keywordflow">if</span> (data) <span class="keywordflow">return</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != 0);
-<a name="l00143"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">00143</a> <span class="keywordflow">else</span> <span class="keywordflow">return</span> ((flags &amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a>) != 0);
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">base_integer::_fixed_digits</a>()<span class="keyword"> const </span>{
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() ? data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a> : 0;
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">00150</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">base_integer::_fixed_bits</a>()<span class="keyword"> const </span>{
-<a name="l00151"></a>00151 <span class="keywordtype">size_t</span> digits = <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>();
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> (digits != 0) <span class="keywordflow">return</span> ((digits - 1) * <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>) +
-<a name="l00153"></a>00153 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">detail::log2</a>(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>);
-<a name="l00154"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">00154</a> <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00155"></a>00155 }
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">base_integer::_get_negative</a>()<span class="keyword"> const </span>{
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> ((flags &amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a>) ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00159"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">00159</a> }
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">base_integer::_set_negative</a>(<span class="keywordtype">bool</span> neg) {
-<a name="l00162"></a>00162 <span class="keywordflow">if</span> (neg) flags |= <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a>;
-<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">00163</a> <span class="keywordflow">else</span> flags &amp;= ~<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a>;
-<a name="l00164"></a>00164 }
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">base_integer::_toggle_negative</a>() {
-<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">00167</a> flags ^= <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a>;
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">base_integer::_get_readonly</a>()<span class="keyword"> const </span>{
-<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">00171</a> <span class="keywordflow">return</span> ((flags &amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a>) ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00172"></a>00172 }
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">base_integer::_set_readonly</a>() {
-<a name="l00175"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">00175</a> flags |= <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a>;
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">base_integer::_realloc</a>(<span class="keywordtype">size_t</span> new_digit_count) {
-<a name="l00179"></a>00179 data = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">reallocate</a>(data, new_digit_count);
-<a name="l00180"></a>00180 }
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">base_integer::_make_unique</a>() {
-<a name="l00183"></a>00183 <span class="keywordflow">if</span> (data &amp;&amp; !<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>()) {
-<a name="l00184"></a>00184 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata = data;
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 data = (olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != 0 ?
-<a name="l00187"></a>00187 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>, olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>, 0) :
-<a name="l00188"></a>00188 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(olddata-&gt;length, 0));
-<a name="l00189"></a>00189 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> = 1;
-<a name="l00190"></a>00190 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>;
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>, *se = s + olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>;
-<a name="l00193"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">00193</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>;
-<a name="l00194"></a>00194 <span class="keywordflow">while</span> (s != se) *t++ = *s++;
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 --olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>;
-<a name="l00197"></a>00197 }
-<a name="l00198"></a>00198 }
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">base_integer::_swap</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; other) {
-<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> tempflags = flags;
-<a name="l00202"></a>00202 flags = other.flags;
-<a name="l00203"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">00203</a> other.flags = tempflags;
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *tempdata = data;
-<a name="l00206"></a>00206 data = other.data;
-<a name="l00207"></a>00207 other.data = tempdata;
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">base_integer::_base_attach</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *new_data, flag_t setflags, <span class="keywordtype">size_t</span>
-<a name="l00211"></a>00211 extra_allocation)
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
-<a name="l00214"></a>00214 <span class="preprocessor"></span> <span class="keywordtype">bool</span> adopt=(new_data &amp;&amp; new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> == 0);
-<a name="l00215"></a>00215 <span class="preprocessor"> #else</span>
-<a name="l00216"></a>00216 <span class="preprocessor"></span> <span class="keywordtype">bool</span> adopt=<span class="keyword">true</span>;
-<a name="l00217"></a>00217 <span class="preprocessor"> #endif</span>
-<a name="l00218"></a>00218 <span class="preprocessor"></span>
-<a name="l00219"></a>00219 <span class="keywordflow">if</span> (data != new_data || extra_allocation != 0) {
-<a name="l00220"></a>00220 <span class="comment">// If only one of them is fixed-length, the data can&#39;t be adopted.</span>
-<a name="l00221"></a>00221 <span class="keywordflow">if</span> (adopt &amp;&amp; new_data &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() != (new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != 0))
-<a name="l00222"></a>00222 adopt=<span class="keyword">false</span>;
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224 <span class="comment">// If either of them are fixed-length, and they&#39;re not the same fixed-</span>
-<a name="l00225"></a>00225 <span class="comment">// length, then the data can&#39;t be adopted.</span>
-<a name="l00226"></a>00226 <span class="keywordflow">if</span> (adopt &amp;&amp; data &amp;&amp; new_data &amp;&amp; (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> ||
-<a name="l00227"></a>00227 new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>) &amp;&amp; (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>
-<a name="l00228"></a>00228 || data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a> != new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>)) adopt=<span class="keyword">false</span>;
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="comment">// If we don&#39;t have a data item, but we&#39;re supposed to allocate extra</span>
-<a name="l00231"></a>00231 <span class="comment">// data, we can&#39;t adopt the existing data item.</span>
-<a name="l00232"></a>00232 <span class="keywordflow">if</span> (adopt &amp;&amp; extra_allocation != 0 &amp;&amp; !data) adopt=<span class="keyword">false</span>;
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 <span class="comment">// If extra_allocation is requested, and it&#39;s a variable-length integer,</span>
-<a name="l00235"></a>00235 <span class="comment">// check the max_size. If there isn&#39;t enough to fit in the</span>
-<a name="l00236"></a>00236 <span class="comment">// extra_allocation, don&#39;t allow adoption.</span>
-<a name="l00237"></a>00237 <span class="keywordflow">if</span> (adopt &amp;&amp; extra_allocation != 0 &amp;&amp; data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> == 0)
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> + extra_allocation &gt; data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>) adopt=<span class="keyword">false</span>;
-<a name="l00239"></a>00239
-<a name="l00240"></a>00240 <span class="keywordflow">if</span> (adopt) {
-<a name="l00241"></a>00241 <span class="keywordflow">if</span> (data &amp;&amp; --data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(data);
-<a name="l00242"></a>00242 data=new_data;
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (data) ++data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>;
-<a name="l00244"></a>00244 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (new_data != 0) {
-<a name="l00245"></a>00245 <span class="comment">// Duplicate the data in a unique data_t item</span>
-<a name="l00246"></a>00246 <span class="keywordflow">if</span> (data == 0) {
-<a name="l00247"></a>00247 data = (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() ?
-<a name="l00248"></a>00248 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>, new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>,
-<a name="l00249"></a>00249 0) :
-<a name="l00250"></a>00250 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> + extra_allocation, 0));
-<a name="l00251"></a>00251 ++data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>;
-<a name="l00252"></a>00252 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> &gt; 1 || data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a> &lt; new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>
-<a name="l00253"></a>00253 + extra_allocation) || <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>())
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata = data;
-<a name="l00256"></a>00256 data = (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() ?
-<a name="l00257"></a>00257 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>, data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>, 0) :
-<a name="l00258"></a>00258 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> + extra_allocation, 0));
-<a name="l00259"></a>00259 ++data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>;
-<a name="l00260"></a>00260 <span class="keywordflow">if</span> (--olddata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(olddata);
-<a name="l00261"></a>00261 }
-<a name="l00262"></a>00262 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = (std::min)(new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> + extra_allocation,
-<a name="l00263"></a>00263 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>);
-<a name="l00264"></a>00264
-<a name="l00265"></a>00265 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>, *se = s + new_data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>;
-<a name="l00266"></a>00266 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>, *te = t + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>;
-<a name="l00267"></a>00267 <span class="keywordflow">while</span> (t != te &amp;&amp; s != se) *t++ = *s++;
-<a name="l00268"></a>00268 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(t, te);
-<a name="l00269"></a>00269 } <span class="keywordflow">else</span> {
-<a name="l00270"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">00270</a> <span class="keywordflow">if</span> (--data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a> == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(data);
-<a name="l00271"></a>00271 data=0;
-<a name="l00272"></a>00272 }
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 flags = setflags;
-<a name="l00275"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">00275</a> }
-<a name="l00276"></a>00276
-<a name="l00277"></a>00277 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">base_integer::_attach</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; copy) {
-<a name="l00278"></a>00278 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(copy.data, copy.flags);
-<a name="l00279"></a>00279 <span class="keywordflow">if</span> (data) <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">base_integer::_cleanup</a>() {
-<a name="l00283"></a>00283 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> - 1;
-<a name="l00284"></a>00284 <span class="keywordflow">if</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a> != 0 &amp;&amp; p == data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a> - 1)
-<a name="l00285"></a>00285 *p &amp;= data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>;
-<a name="l00286"></a>00286 <span class="keywordflow">if</span> (*p == 0) {
-<a name="l00287"></a>00287 <span class="keywordflow">if</span> (p != data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>) {
-<a name="l00288"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">00288</a> <span class="keywordflow">while</span> (--p != data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> &amp;&amp; *p == 0); <span class="comment">// Null loop</span>
-<a name="l00289"></a>00289 <span class="keywordflow">if</span> (*p == 0) <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keyword">false</span>); <span class="comment">// It&#39;s zero.</span>
-<a name="l00290"></a>00290 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a> = p - data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> + 1;
-<a name="l00291"></a>00291 } <span class="comment">// It&#39;s zero, but it may legitimately be a &quot;negative zero&quot;, leave it.</span>
-<a name="l00292"></a>00292 }
-<a name="l00293"></a>00293 }
-<a name="l00294"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">00294</a>
-<a name="l00295"></a>00295 <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_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">base_integer::_to_integer</a>()<span class="keyword"> const </span>{
-<a name="l00296"></a>00296 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00297"></a>00297 r.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(*<span class="keyword">this</span>);
-<a name="l00298"></a>00298 <span class="keywordflow">return</span> r;
-<a name="l00299"></a>00299 }
-<a name="l00300"></a>00300
-<a name="l00301"></a>00301 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">base_integer::_increment</a>(<span class="keywordtype">bool</span> absolute_value) {
-<a name="l00302"></a>00302 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>();
-<a name="l00303"></a>00303 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) {
-<a name="l00304"></a>00304 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>[0] = 1;
-<a name="l00305"></a>00305 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keyword">false</span>);
-<a name="l00306"></a>00306 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) {
-<a name="l00307"></a>00307 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(<span class="keyword">true</span>);
-<a name="l00308"></a>00308 } <span class="keywordflow">else</span> {
-<a name="l00309"></a>00309 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() + 1);
-<a name="l00310"></a>00310 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p = <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>(), *pe = p + <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>();
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 <span class="keywordflow">while</span> (p &lt; pe) {
-<a name="l00313"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">00313</a> <span class="keywordflow">if</span> (*p == <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>) *p++ = 0;
-<a name="l00314"></a>00314 <span class="keywordflow">else</span> { *p++ += 1; <span class="keywordflow">break</span>; }
-<a name="l00315"></a>00315 }
-<a name="l00316"></a>00316 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
-<a name="l00317"></a>00317 }
-<a name="l00318"></a>00318 }
-<a name="l00319"></a>00319
-<a name="l00320"></a>00320 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">base_integer::_decrement</a>(<span class="keywordtype">bool</span> absolute_value) {
-<a name="l00321"></a>00321 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>();
-<a name="l00322"></a>00322 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) {
-<a name="l00323"></a>00323 data-&gt;magnitude[0]=1;
-<a name="l00324"></a>00324 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00325"></a>00325 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) {
-<a name="l00326"></a>00326 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(<span class="keyword">true</span>);
-<a name="l00327"></a>00327 } <span class="keywordflow">else</span> {
-<a name="l00328"></a>00328 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p = <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>(), *pe = p + <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>();
-<a name="l00329"></a>00329 <span class="keywordflow">while</span> (p != pe) {
-<a name="l00330"></a>00330 <span class="keywordflow">if</span> (*p == 0) *p++ = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>;
-<a name="l00331"></a>00331 <span class="keywordflow">else</span> { *p++ -= 1; <span class="keywordflow">break</span>; }
-<a name="l00332"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">00332</a> }
-<a name="l00333"></a>00333 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335 }
+<a name="l00042"></a>00042 base_integer::base_integer(<span class="keyword">const</span> base_integer&amp; 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="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),
+<a name="l00049"></a>00049 data(0)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 _base_attach(allocate_fixed(mask, count, 1));
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 base_integer::base_integer(data_t *adopt, <span class="keywordtype">bool</span> neg): flags(0), data(0) {
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (adopt &amp;&amp; adopt-&gt;fixed_mask != 0) flags |= flag_fixedlength;
+<a name="l00056"></a>00056 _base_attach(adopt);
+<a name="l00057"></a>00057 _set_negative(neg);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 base_integer::~base_integer() {
+<a name="l00061"></a>00061 <span class="keywordflow">if</span> (data &amp;&amp; --data-&gt;copies == 0) deallocate(data);
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 digit_t base_integer::_get_digit(<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> data-&gt;magnitude[index];
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 digit_t base_integer::_get_digit(<span class="keywordtype">size_t</span> index, <span class="keywordtype">bool</span>)<span class="keyword"> const </span>{
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (index &gt;= data-&gt;length) <span class="keywordflow">return</span> 0;
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> data-&gt;magnitude[index];
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 digit_t* base_integer::_get_writable_digits() {
+<a name="l00074"></a>00074 assert(!_get_readonly());
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> data-&gt;magnitude;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">const</span> digit_t* base_integer::_get_digits()<span class="keyword"> const </span>{
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> data-&gt;magnitude;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keywordtype">size_t</span> base_integer::_get_length()<span class="keyword"> const </span>{
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> data-&gt;length;
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordtype">size_t</span> base_integer::_get_max_length()<span class="keyword"> const </span>{
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> _is_fixed() ? _fixed_digits() : (std::numeric_limits&lt;size_t&gt;::max)();
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keywordtype">void</span> base_integer::_set_length(<span class="keywordtype">size_t</span> digits) {
+<a name="l00091"></a>00091 data-&gt;length = digits;
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keywordtype">size_t</span> base_integer::_log2()<span class="keyword"> const </span>{
+<a name="l00095"></a>00095 <span class="keywordtype">size_t</span> len = _get_length() - 1;
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> (bits_per_digit * len) + <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(_get_digit(len));
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keywordtype">void</span> base_integer::_set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> negative) {
+<a name="l00100"></a>00100 <span class="comment">// Assumes that the proper allocation &amp; sizing was already done</span>
+<a name="l00101"></a>00101 assert(!_get_readonly());
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (data == 0) _base_attach(allocate(detail::digits_in_uintmax));
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (digit_t(n) == n) {
+<a name="l00104"></a>00104 data-&gt;length = 1;
+<a name="l00105"></a>00105 *data-&gt;magnitude = digit_t(n);
+<a name="l00106"></a>00106 } <span class="keywordflow">else</span> {
+<a name="l00107"></a>00107 digit_t *i = data-&gt;magnitude, *ie = i + data-&gt;max_length;
+<a name="l00108"></a>00108 <span class="keywordflow">while</span> (n != 0 &amp;&amp; i != ie) {
+<a name="l00109"></a>00109 *i++ = digit_t(n &amp; digit_mask);
+<a name="l00110"></a>00110 n &gt;&gt;= bits_per_digit;
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 data-&gt;length = i - data-&gt;magnitude;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114 _set_negative(negative);
+<a name="l00115"></a>00115 _cleanup();
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keywordtype">void</span> base_integer::_set_signed(boost::intmax_t n) {
+<a name="l00119"></a>00119 <span class="keywordflow">if</span> (n &gt;= 0) {
+<a name="l00120"></a>00120 _set_unsigned(n);
+<a name="l00121"></a>00121 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;boost::intmax_t&gt;::min)()) {
+<a name="l00122"></a>00122 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
+<a name="l00123"></a>00123 <span class="comment">// what you&#39;d think it is.</span>
+<a name="l00124"></a>00124 _set_unsigned(-(n+1), <span class="keyword">true</span>);
+<a name="l00125"></a>00125 _decrement();
+<a name="l00126"></a>00126 } <span class="keywordflow">else</span> {
+<a name="l00127"></a>00127 _set_unsigned(-n, <span class="keyword">true</span>);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keywordtype">bool</span> base_integer::_is_unique()<span class="keyword"> const </span>{
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> (!data || data-&gt;copies &lt;= 1);
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordtype">bool</span> base_integer::_is_zero()<span class="keyword"> const </span>{
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> (data-&gt;length == 1 &amp;&amp; *data-&gt;magnitude == 0);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keywordtype">bool</span> base_integer::_is_fixed()<span class="keyword"> const </span>{
+<a name="l00140"></a>00140 <span class="keywordflow">if</span> (data) <span class="keywordflow">return</span> (data-&gt;fixed_mask != 0);
+<a name="l00141"></a>00141 <span class="keywordflow">else</span> <span class="keywordflow">return</span> ((flags &amp; flag_fixedlength) != 0);
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keywordtype">size_t</span> base_integer::_fixed_digits()<span class="keyword"> const </span>{
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> _is_fixed() ? data-&gt;max_length : 0;
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="keywordtype">size_t</span> base_integer::_fixed_bits()<span class="keyword"> const </span>{
+<a name="l00149"></a>00149 <span class="keywordtype">size_t</span> digits = _fixed_digits();
+<a name="l00150"></a>00150 <span class="keywordflow">if</span> (digits != 0) <span class="keywordflow">return</span> ((digits - 1) * detail::bits_per_digit) +
+<a name="l00151"></a>00151 <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">detail::log2</a>(data-&gt;fixed_mask);
+<a name="l00152"></a>00152 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00153"></a>00153 }
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keywordtype">bool</span> base_integer::_get_negative()<span class="keyword"> const </span>{
+<a name="l00156"></a>00156 <span class="keywordflow">return</span> ((flags &amp; flag_negative) ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keywordtype">void</span> base_integer::_set_negative(<span class="keywordtype">bool</span> neg) {
+<a name="l00160"></a>00160 <span class="keywordflow">if</span> (neg) flags |= flag_negative;
+<a name="l00161"></a>00161 <span class="keywordflow">else</span> flags &amp;= ~flag_negative;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keywordtype">void</span> base_integer::_toggle_negative() {
+<a name="l00165"></a>00165 flags ^= flag_negative;
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keywordtype">bool</span> base_integer::_get_readonly()<span class="keyword"> const </span>{
+<a name="l00169"></a>00169 <span class="keywordflow">return</span> ((flags &amp; flag_readonly) ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l00170"></a>00170 }
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keywordtype">void</span> base_integer::_set_readonly() {
+<a name="l00173"></a>00173 flags |= flag_readonly;
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keywordtype">void</span> base_integer::_realloc(<span class="keywordtype">size_t</span> new_digit_count) {
+<a name="l00177"></a>00177 data = reallocate(data, new_digit_count);
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="keywordtype">void</span> base_integer::_make_unique() {
+<a name="l00181"></a>00181 <span class="keywordflow">if</span> (data &amp;&amp; !_is_unique()) {
+<a name="l00182"></a>00182 data_t *olddata = data;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 data = (olddata-&gt;fixed_mask != 0 ?
+<a name="l00185"></a>00185 allocate_fixed(olddata-&gt;fixed_mask, olddata-&gt;max_length, 0) :
+<a name="l00186"></a>00186 allocate(olddata-&gt;length, 0));
+<a name="l00187"></a>00187 data-&gt;copies = 1;
+<a name="l00188"></a>00188 data-&gt;length = olddata-&gt;length;
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 digit_t *s = olddata-&gt;magnitude, *se = s + olddata-&gt;length;
+<a name="l00191"></a>00191 digit_t *t = data-&gt;magnitude;
+<a name="l00192"></a>00192 <span class="keywordflow">while</span> (s != se) *t++ = *s++;
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 --olddata-&gt;copies;
+<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&amp; 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 &amp;&amp; new_data-&gt;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&#39;t be adopted.</span>
+<a name="l00219"></a>00219 <span class="keywordflow">if</span> (adopt &amp;&amp; new_data &amp;&amp; _is_fixed() != (new_data-&gt;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&#39;re not the same fixed-</span>
+<a name="l00223"></a>00223 <span class="comment">// length, then the data can&#39;t be adopted.</span>
+<a name="l00224"></a>00224 <span class="keywordflow">if</span> (adopt &amp;&amp; data &amp;&amp; new_data &amp;&amp; (data-&gt;fixed_mask ||
+<a name="l00225"></a>00225 new_data-&gt;fixed_mask) &amp;&amp; (data-&gt;fixed_mask != new_data-&gt;fixed_mask
+<a name="l00226"></a>00226 || data-&gt;max_length != new_data-&gt;max_length)) adopt=<span class="keyword">false</span>;
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="comment">// If we don&#39;t have a data item, but we&#39;re supposed to allocate extra</span>
+<a name="l00229"></a>00229 <span class="comment">// data, we can&#39;t adopt the existing data item.</span>
+<a name="l00230"></a>00230 <span class="keywordflow">if</span> (adopt &amp;&amp; extra_allocation != 0 &amp;&amp; !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&#39;s a variable-length integer,</span>
+<a name="l00233"></a>00233 <span class="comment">// check the max_size. If there isn&#39;t enough to fit in the</span>
+<a name="l00234"></a>00234 <span class="comment">// extra_allocation, don&#39;t allow adoption.</span>
+<a name="l00235"></a>00235 <span class="keywordflow">if</span> (adopt &amp;&amp; extra_allocation != 0 &amp;&amp; data-&gt;fixed_mask == 0)
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (data-&gt;length + extra_allocation &gt; data-&gt;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 &amp;&amp; --data-&gt;copies == 0) deallocate(data);
+<a name="l00240"></a>00240 data=new_data;
+<a name="l00241"></a>00241 <span class="keywordflow">if</span> (data) ++data-&gt;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-&gt;fixed_mask, new_data-&gt;max_length,
+<a name="l00247"></a>00247 0) :
+<a name="l00248"></a>00248 allocate(new_data-&gt;length + extra_allocation, 0));
+<a name="l00249"></a>00249 ++data-&gt;copies;
+<a name="l00250"></a>00250 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((data-&gt;copies &gt; 1 || data-&gt;max_length &lt; new_data-&gt;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-&gt;fixed_mask, data-&gt;max_length, 0) :
+<a name="l00256"></a>00256 allocate(new_data-&gt;length + extra_allocation, 0));
+<a name="l00257"></a>00257 ++data-&gt;copies;
+<a name="l00258"></a>00258 <span class="keywordflow">if</span> (--olddata-&gt;copies == 0) deallocate(olddata);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 data-&gt;length = (std::min)(new_data-&gt;length + extra_allocation,
+<a name="l00261"></a>00261 data-&gt;max_length);
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 digit_t *s = new_data-&gt;magnitude, *se = s + new_data-&gt;length;
+<a name="l00264"></a>00264 digit_t *t = data-&gt;magnitude, *te = t + data-&gt;length;
+<a name="l00265"></a>00265 <span class="keywordflow">while</span> (t != te &amp;&amp; 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-&gt;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&amp; 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-&gt;magnitude + data-&gt;length - 1;
+<a name="l00282"></a>00282 <span class="keywordflow">if</span> (data-&gt;fixed_mask != 0 &amp;&amp; p == data-&gt;magnitude + data-&gt;max_length - 1)
+<a name="l00283"></a>00283 *p &amp;= data-&gt;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-&gt;magnitude) {
+<a name="l00286"></a>00286 <span class="keywordflow">while</span> (--p != data-&gt;magnitude &amp;&amp; *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&#39;s zero.</span>
+<a name="l00288"></a>00288 data-&gt;length = p - data-&gt;magnitude + 1;
+<a name="l00289"></a>00289 } <span class="comment">// It&#39;s zero, but it may legitimately be a &quot;negative zero&quot;, 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-&gt;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 &amp;&amp; _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 &lt; 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-&gt;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 &amp;&amp; _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="l00338"></a>00338
-<a name="l00339"></a>00339 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">base_variable_length_integer::_attach_0</a>() {
-<a name="l00340"></a>00340 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(zerodata());
-<a name="l00341"></a>00341 }
-<a name="l00342"></a>00342
-<a name="l00343"></a>00343 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">log10_bits</a>(<span class="keywordtype">size_t</span> bits) {
-<a name="l00344"></a>00344 assert(std::numeric_limits&lt;boost::intmax_t&gt;::digits &gt;= 32);
-<a name="l00345"></a>00345 <span class="keyword">const</span> boost::intmax_t large_step(1000000000), small_step(10);
-<a name="l00346"></a>00346 <span class="keyword">const</span> <span class="keywordtype">size_t</span> count_per_large_step = 9, count_per_small_step = 1;
-<a name="l00347"></a>00347 integer n(<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(bits)-1);
-<a name="l00348"></a>00348
-<a name="l00349"></a>00349 <span class="keywordtype">size_t</span> r = 0;
-<a name="l00350"></a>00350 <span class="keywordflow">while</span> (n &gt;= large_step) { n /= large_step; r += count_per_large_step; }
-<a name="l00351"></a>00351 <span class="keywordflow">while</span> (n &gt;= small_step) { n /= small_step; r += count_per_small_step; }
-<a name="l00352"></a>00352 <span class="keywordflow">return</span> r;
-<a name="l00353"></a>00353 }
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 } <span class="comment">// namespace detail</span>
+<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&lt;boost::intmax_t&gt;::digits &gt;= 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="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 &gt;= large_step) { n /= large_step; r += count_per_large_step; }
+<a name="l00349"></a>00349 <span class="keywordflow">while</span> (n &gt;= 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>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,22 +38,7 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail::bitwise_and</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail::bitwise_or</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail::bitwise_xor</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail::clearbit</a> (base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail::getbit</a> (const base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail::highestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail::lowestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail::setbit</a> (base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail::shift_left</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail::shift_right</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Bit-manipulation functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
 </div></td></tr>
@@ -65,7 +50,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>XOR</code> operation. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an integer with a value of one. <br/></td></tr>
@@ -85,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -41,260 +41,260 @@
 <a name="l00020"></a>00020 <span class="keyword">namespace </span>boost {
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
 <a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>detail {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">getbit</a>(<span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00026"></a>00026 <span class="keywordtype">size_t</span> index = bit / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00027"></a>00027 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
-<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00029"></a>00029 <span class="keywordflow">return</span> ((n._get_digit(index) &amp; mask) != 0);
-<a name="l00030"></a>00030 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">setbit</a>(base_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00034"></a>00034 <span class="keywordflow">if</span> (n._is_fixed() &amp;&amp; bit &gt;= n._fixed_bits()) <span class="keywordflow">return</span>;
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 n._make_unique();
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keywordtype">size_t</span> index = bit / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00039"></a>00039 <span class="keywordflow">if</span> (index &gt;= n._get_length()) n._realloc(index+1);
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00042"></a>00042 n._get_writable_digits()[index] |= mask;
-<a name="l00043"></a>00043 n._cleanup();
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">clearbit</a>(base_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (n._is_fixed() &amp;&amp; bit &gt;= n._fixed_bits()) <span class="keywordflow">return</span>;
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordtype">size_t</span> index = bit / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00050"></a>00050 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
-<a name="l00051"></a>00051 n._make_unique();
-<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00053"></a>00053 n._get_writable_digits()[index] &amp;= ~mask;
-<a name="l00054"></a>00054 n._cleanup();
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">lowestbit</a>(<span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (n._is_zero()) <span class="keywordflow">return</span> valueIfZero;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p=n._get_digits(), *pe=p+n._get_length();
-<a name="l00062"></a>00062 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keywordtype">size_t</span> index=(p - n._get_digits());
-<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> r=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * index);
-<a name="l00066"></a>00066 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> digit=*p;
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
-<a name="l00069"></a>00069 digit&gt;&gt;=1;
-<a name="l00070"></a>00070 ++r;
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> r;
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">highestbit</a>(<span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00077"></a>00077 <span class="keywordflow">return</span> (n._is_zero() ? valueIfZero : n._log2()-1);
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">bitwise_and</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
-<a name="l00081"></a>00081 base_integer&amp; n2)
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
-<a name="l00084"></a>00084 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1),
-<a name="l00085"></a>00085 &amp;larger(n1larger ? n1 : n2);
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keywordtype">size_t</span> maxlen = (std::min)(smaller._get_length(), target._get_max_length());
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 target._make_unique();
-<a name="l00090"></a>00090 target._realloc(maxlen);
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1 = smaller._get_digits(), *s1e = s1 + maxlen, *s2 =
-<a name="l00093"></a>00093 larger._get_digits();
-<a name="l00094"></a>00094 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = target._get_writable_digits();
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 target._cleanup();
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">bitwise_or</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
-<a name="l00102"></a>00102 base_integer&amp; n2)
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 <span class="keywordtype">bool</span> n1larger = (n1._get_length() &gt; n2._get_length());
-<a name="l00105"></a>00105 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1), &amp;larger(n1larger ? n1 : n2);
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keywordtype">size_t</span> maxlen = (std::min)(larger._get_length(), target._get_max_length());
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 target._make_unique();
-<a name="l00110"></a>00110 target._realloc(maxlen);
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1 = smaller._get_digits(), *s1e = s1 +
-<a name="l00113"></a>00113 (std::min)(smaller._get_length(), maxlen);
-<a name="l00114"></a>00114 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2 = larger._get_digits(), *s2e = s2 + maxlen;
-<a name="l00115"></a>00115 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = target._get_writable_digits();
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ | *s2++;
-<a name="l00118"></a>00118 <span class="keywordflow">while</span> (s2 &lt; s2e) *t++ = *s2++;
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 target._cleanup();
-<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_1_1detail.html#a3021d365585065f356b81a0250403541">bitwise_xor</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
-<a name="l00124"></a>00124 base_integer&amp; n2)
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
-<a name="l00127"></a>00127 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1), &amp;larger(n1larger ? n1 : n2);
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="keywordtype">size_t</span> maxlen = (std::min)(larger._get_length(), target._get_max_length());
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 target._make_unique();
-<a name="l00132"></a>00132 target._realloc(maxlen);
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1 = smaller._get_digits(), *s1e = s1 +
-<a name="l00135"></a>00135 (std::min)(smaller._get_length(), maxlen);
-<a name="l00136"></a>00136 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2 = larger._get_digits(), *s2e = s2 + maxlen;
-<a name="l00137"></a>00137 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = target._get_writable_digits();
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
-<a name="l00140"></a>00140 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 target._cleanup();
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">shift_left</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00146"></a>00146 <span class="keywordflow">if</span> (byBits==0) {
-<a name="l00147"></a>00147 target._attach(n);
-<a name="l00148"></a>00148 <span class="keywordflow">return</span>;
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keywordtype">size_t</span> bytes = byBits / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>, bits = byBits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00152"></a>00152 <span class="keywordtype">size_t</span> nlen = n._get_length();
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 temp_t answer(target, n._get_length() + bytes + 1);
-<a name="l00155"></a>00155 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *tgt = answer._get_writable_digits();
-<a name="l00156"></a>00156 <span class="keywordtype">size_t</span> anslen = answer._get_max_length();
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *src = n._get_digits();
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="comment">// bits/bytes is distance to move</span>
-<a name="l00161"></a>00161 <span class="comment">// nlen is one greater than top source byte to move</span>
-<a name="l00162"></a>00162 nlen = (std::min)(nlen, anslen - bytes - (bits != 0 ? 1 : 0));
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keywordflow">if</span> (bits != 0 &amp;&amp; bytes+1 &lt; anslen) {
-<a name="l00165"></a>00165 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00166"></a>00166 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = src + nlen - 1;
-<a name="l00167"></a>00167 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = tgt + nlen + bytes;
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 *t-- = *s &gt;&gt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits);
-<a name="l00170"></a>00170 <span class="keywordflow">while</span> (s &gt; src) {
-<a name="l00171"></a>00171 *t = (*s-- &lt;&lt; bits);
-<a name="l00172"></a>00172 *t-- |= (*s &gt;&gt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits));
-<a name="l00173"></a>00173 }
-<a name="l00174"></a>00174 *t = (*s &lt;&lt; bits);
-<a name="l00175"></a>00175 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0 &amp;&amp; bytes+1 &lt; anslen) {
-<a name="l00176"></a>00176 memcpy(tgt + bytes, src, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) * nlen);
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178 answer._cleanup();
-<a name="l00179"></a>00179 answer._set_negative(n._get_negative());
-<a name="l00180"></a>00180 target._attach(answer);
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182
-<a name="l00183"></a>00183 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">shift_right</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00184"></a>00184 <span class="keywordflow">if</span> (byBits==0) {
-<a name="l00185"></a>00185 target._attach(n);
-<a name="l00186"></a>00186 <span class="keywordflow">return</span>;
-<a name="l00187"></a>00187 }
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keywordtype">size_t</span> bytes = byBits / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>, bits = byBits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>,
-<a name="l00190"></a>00190 bits2 = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits;
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 temp_t answer(target, n._get_length() + bytes + 1);
-<a name="l00193"></a>00193 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *tgt = answer._get_writable_digits();
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <span class="keywordtype">size_t</span> nlen = n._get_length();
-<a name="l00196"></a>00196 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *src = n._get_digits();
-<a name="l00197"></a>00197 <span class="keywordflow">if</span> (bytes &lt; nlen) {
-<a name="l00198"></a>00198 <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00199"></a>00199 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00200"></a>00200 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = src + bytes, *se = src + nlen - 1;
-<a name="l00201"></a>00201 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = tgt;
-<a name="l00202"></a>00202 <span class="keywordflow">while</span> (s!=se) {
-<a name="l00203"></a>00203 *t = (*s++ &gt;&gt; bits);
-<a name="l00204"></a>00204 *t++ |= (*s &lt;&lt; bits2);
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 *t = (*s &gt;&gt; bits);
-<a name="l00207"></a>00207 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00208"></a>00208 memcpy(tgt, src + bytes, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) * (nlen - bytes));
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 answer._cleanup();
-<a name="l00212"></a>00212 answer._set_negative(n._get_negative());
-<a name="l00213"></a>00213 target._attach(answer);
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 } <span class="comment">// namespace detail</span>
-<a name="l00217"></a>00217
-<a name="l00228"></a>00228 <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> integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00229"></a>00229 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">detail::getbit</a>(n, bit);
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231
-<a name="l00241"></a>00241 <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>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00242"></a>00242 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">detail::setbit</a>(n, bit);
-<a name="l00243"></a>00243 }
-<a name="l00244"></a>00244
-<a name="l00254"></a>00254 <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>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00255"></a>00255 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">detail::clearbit</a>(n, bit);
-<a name="l00256"></a>00256 }
-<a name="l00257"></a>00257
-<a name="l00269"></a>00269 <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> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00270"></a>00270 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">detail::lowestbit</a>(n, valueIfZero);
-<a name="l00271"></a>00271 }
-<a name="l00272"></a>00272
-<a name="l00284"></a>00284 <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> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">detail::highestbit</a>(n, valueIfZero);
-<a name="l00286"></a>00286 }
-<a name="l00287"></a>00287
-<a name="l00297"></a>00297 integer <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00298"></a>00298 integer r;
-<a name="l00299"></a>00299 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">detail::bitwise_and</a>(r, n1, n2);
-<a name="l00300"></a>00300 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00301"></a>00301 }
-<a name="l00302"></a>00302
-<a name="l00312"></a>00312 integer <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00313"></a>00313 integer r;
-<a name="l00314"></a>00314 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">detail::bitwise_or</a>(r, n1, n2);
-<a name="l00315"></a>00315 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00316"></a>00316 }
-<a name="l00317"></a>00317
-<a name="l00327"></a>00327 integer <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00328"></a>00328 integer r;
-<a name="l00329"></a>00329 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">detail::bitwise_xor</a>(r, n1, n2);
-<a name="l00330"></a>00330 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00331"></a>00331 }
-<a name="l00332"></a>00332
-<a name="l00343"></a>00343 integer <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00344"></a>00344 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(n, byBits);
-<a name="l00345"></a>00345 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, -byBits);
-<a name="l00346"></a>00346 }
-<a name="l00347"></a>00347
-<a name="l00357"></a>00357 integer <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00358"></a>00358 integer r;
-<a name="l00359"></a>00359 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(r, n, byBits);
-<a name="l00360"></a>00360 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00361"></a>00361 }
-<a name="l00362"></a>00362
-<a name="l00372"></a>00372 integer <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00373"></a>00373 integer r;
-<a name="l00374"></a>00374 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">detail::shift_right</a>(r, n, byBits);
-<a name="l00375"></a>00375 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00376"></a>00376 }
-<a name="l00377"></a>00377
-<a name="l00378"></a>00378 } <span class="comment">// namespace xint</span>
-<a name="l00379"></a>00379 } <span class="comment">// namespace boost</span>
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>detail {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <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&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00027"></a>00027 <span class="keywordtype">size_t</span> index = bit / bits_per_digit;
+<a name="l00028"></a>00028 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
+<a name="l00029"></a>00029 digit_t mask=(digit_t(1) &lt;&lt; (bit % bits_per_digit));
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> ((n._get_digit(index) &amp; mask) != 0);
+<a name="l00031"></a>00031 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <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&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00035"></a>00035 <span class="keywordflow">if</span> (n._is_fixed() &amp;&amp; bit &gt;= n._fixed_bits()) <span class="keywordflow">return</span>;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 n._make_unique();
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keywordtype">size_t</span> index = bit / bits_per_digit;
+<a name="l00040"></a>00040 <span class="keywordflow">if</span> (index &gt;= n._get_length()) n._realloc(index+1);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 digit_t mask = (digit_t(1) &lt;&lt; (bit % bits_per_digit));
+<a name="l00043"></a>00043 n._get_writable_digits()[index] |= mask;
+<a name="l00044"></a>00044 n._cleanup();
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <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&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (n._is_fixed() &amp;&amp; bit &gt;= n._fixed_bits()) <span class="keywordflow">return</span>;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordtype">size_t</span> index = bit / bits_per_digit;
+<a name="l00051"></a>00051 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
+<a name="l00052"></a>00052 n._make_unique();
+<a name="l00053"></a>00053 digit_t mask=(digit_t(1) &lt;&lt; (bit % bits_per_digit));
+<a name="l00054"></a>00054 n._get_writable_digits()[index] &amp;= ~mask;
+<a name="l00055"></a>00055 n._cleanup();
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <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&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00060"></a>00060 <span class="keywordflow">if</span> (n._is_zero()) <span class="keywordflow">return</span> valueIfZero;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">const</span> digit_t *p=n._get_digits(), *pe=p+n._get_length();
+<a name="l00063"></a>00063 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> index=(p - n._get_digits());
+<a name="l00066"></a>00066 <span class="keywordtype">size_t</span> r=(bits_per_digit * index);
+<a name="l00067"></a>00067 digit_t digit=*p;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
+<a name="l00070"></a>00070 digit&gt;&gt;=1;
+<a name="l00071"></a>00071 ++r;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> r;
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <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&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> (n._is_zero() ? valueIfZero : n._log2()-1);
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00082"></a>00082 base_integer&amp; n2)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
+<a name="l00085"></a>00085 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1),
+<a name="l00086"></a>00086 &amp;larger(n1larger ? n1 : n2);
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keywordtype">size_t</span> maxlen = (std::min)(smaller._get_length(), target._get_max_length());
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 target._make_unique();
+<a name="l00091"></a>00091 target._realloc(maxlen);
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">const</span> digit_t *s1 = smaller._get_digits(), *s1e = s1 + maxlen, *s2 =
+<a name="l00094"></a>00094 larger._get_digits();
+<a name="l00095"></a>00095 digit_t *t = target._get_writable_digits();
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 target._cleanup();
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00103"></a>00103 base_integer&amp; n2)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> n1larger = (n1._get_length() &gt; n2._get_length());
+<a name="l00106"></a>00106 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1), &amp;larger(n1larger ? n1 : n2);
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordtype">size_t</span> maxlen = (std::min)(larger._get_length(), target._get_max_length());
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 target._make_unique();
+<a name="l00111"></a>00111 target._realloc(maxlen);
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">const</span> digit_t *s1 = smaller._get_digits(), *s1e = s1 +
+<a name="l00114"></a>00114 (std::min)(smaller._get_length(), maxlen);
+<a name="l00115"></a>00115 <span class="keyword">const</span> digit_t *s2 = larger._get_digits(), *s2e = s2 + maxlen;
+<a name="l00116"></a>00116 digit_t *t = target._get_writable_digits();
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ | *s2++;
+<a name="l00119"></a>00119 <span class="keywordflow">while</span> (s2 &lt; s2e) *t++ = *s2++;
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 target._cleanup();
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00125"></a>00125 base_integer&amp; n2)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
+<a name="l00128"></a>00128 <span class="keyword">const</span> base_integer &amp;smaller(n1larger ? n2 : n1), &amp;larger(n1larger ? n1 : n2);
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keywordtype">size_t</span> maxlen = (std::min)(larger._get_length(), target._get_max_length());
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 target._make_unique();
+<a name="l00133"></a>00133 target._realloc(maxlen);
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">const</span> digit_t *s1 = smaller._get_digits(), *s1e = s1 +
+<a name="l00136"></a>00136 (std::min)(smaller._get_length(), maxlen);
+<a name="l00137"></a>00137 <span class="keyword">const</span> digit_t *s2 = larger._get_digits(), *s2e = s2 + maxlen;
+<a name="l00138"></a>00138 digit_t *t = target._get_writable_digits();
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
+<a name="l00141"></a>00141 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 target._cleanup();
+<a name="l00144"></a>00144 }
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; 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="l00149"></a>00149 <span class="keywordflow">return</span>;
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keywordtype">size_t</span> bytes = byBits / bits_per_digit, bits = byBits % bits_per_digit;
+<a name="l00153"></a>00153 <span class="keywordtype">size_t</span> nlen = n._get_length();
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 temp_t answer(target, n._get_length() + bytes + 1);
+<a name="l00156"></a>00156 digit_t *tgt = answer._get_writable_digits();
+<a name="l00157"></a>00157 <span class="keywordtype">size_t</span> anslen = answer._get_max_length();
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">const</span> digit_t *src = n._get_digits();
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="comment">// bits/bytes is distance to move</span>
+<a name="l00162"></a>00162 <span class="comment">// nlen is one greater than top source byte to move</span>
+<a name="l00163"></a>00163 nlen = (std::min)(nlen, anslen - bytes - (bits != 0 ? 1 : 0));
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keywordflow">if</span> (bits != 0 &amp;&amp; bytes+1 &lt; anslen) {
+<a name="l00166"></a>00166 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00167"></a>00167 <span class="keyword">const</span> digit_t *s = src + nlen - 1;
+<a name="l00168"></a>00168 digit_t *t = tgt + nlen + bytes;
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 *t-- = *s &gt;&gt; (bits_per_digit - bits);
+<a name="l00171"></a>00171 <span class="keywordflow">while</span> (s &gt; src) {
+<a name="l00172"></a>00172 *t = (*s-- &lt;&lt; bits);
+<a name="l00173"></a>00173 *t-- |= (*s &gt;&gt; (bits_per_digit - bits));
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175 *t = (*s &lt;&lt; bits);
+<a name="l00176"></a>00176 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0 &amp;&amp; bytes+1 &lt; anslen) {
+<a name="l00177"></a>00177 memcpy(tgt + bytes, src, <span class="keyword">sizeof</span>(digit_t) * nlen);
+<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="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&amp; target, <span class="keyword">const</span> base_integer&amp; 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="l00187"></a>00187 <span class="keywordflow">return</span>;
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="keywordtype">size_t</span> bytes = byBits / bits_per_digit, bits = byBits % bits_per_digit,
+<a name="l00191"></a>00191 bits2 = bits_per_digit - bits;
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 temp_t answer(target, n._get_length() + bytes + 1);
+<a name="l00194"></a>00194 digit_t *tgt = answer._get_writable_digits();
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keywordtype">size_t</span> nlen = n._get_length();
+<a name="l00197"></a>00197 <span class="keyword">const</span> digit_t *src = n._get_digits();
+<a name="l00198"></a>00198 <span class="keywordflow">if</span> (bytes &lt; nlen) {
+<a name="l00199"></a>00199 <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00200"></a>00200 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00201"></a>00201 <span class="keyword">const</span> digit_t *s = src + bytes, *se = src + nlen - 1;
+<a name="l00202"></a>00202 digit_t *t = tgt;
+<a name="l00203"></a>00203 <span class="keywordflow">while</span> (s!=se) {
+<a name="l00204"></a>00204 *t = (*s++ &gt;&gt; bits);
+<a name="l00205"></a>00205 *t++ |= (*s &lt;&lt; bits2);
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 *t = (*s &gt;&gt; bits);
+<a name="l00208"></a>00208 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00209"></a>00209 memcpy(tgt, src + bytes, <span class="keyword">sizeof</span>(digit_t) * (nlen - bytes));
+<a name="l00210"></a>00210 }
+<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="l00215"></a>00215 }
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 } <span class="comment">// namespace detail</span>
+<a name="l00219"></a>00219 <span class="comment"></span>
+<a name="l00230"></a>00230 <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> integer&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00231"></a>00231 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">detail::getbit</a>(n, bit);
+<a name="l00232"></a>00232 }
+<a name="l00233"></a>00233
+<a name="l00243"></a>00243 <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>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00244"></a>00244 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">detail::setbit</a>(n, bit);
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246
+<a name="l00256"></a>00256 <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>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00257"></a>00257 <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">detail::clearbit</a>(n, bit);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259
+<a name="l00271"></a>00271 <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> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00272"></a>00272 <span class="keywordflow">return</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.">detail::lowestbit</a>(n, valueIfZero);
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274
+<a name="l00286"></a>00286 <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> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00287"></a>00287 <span class="keywordflow">return</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.">detail::highestbit</a>(n, valueIfZero);
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289
+<a name="l00299"></a>00299 integer <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00300"></a>00300 integer r;
+<a name="l00301"></a>00301 <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(r, n1, n2);
+<a name="l00302"></a>00302 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00303"></a>00303 }
+<a name="l00304"></a>00304
+<a name="l00314"></a>00314 integer <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00315"></a>00315 integer r;
+<a name="l00316"></a>00316 <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(r, n1, n2);
+<a name="l00317"></a>00317 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319
+<a name="l00329"></a>00329 integer <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00330"></a>00330 integer r;
+<a name="l00331"></a>00331 <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(r, n1, n2);
+<a name="l00332"></a>00332 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00333"></a>00333 }
+<a name="l00334"></a>00334
+<a name="l00345"></a>00345 integer <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">int</span> byBits) {
+<a name="l00346"></a>00346 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(n, byBits);
+<a name="l00347"></a>00347 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, -byBits);
+<a name="l00348"></a>00348 }
+<a name="l00349"></a>00349
+<a name="l00359"></a>00359 integer <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00360"></a>00360 integer r;
+<a name="l00361"></a>00361 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(r, n, byBits);
+<a name="l00362"></a>00362 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00363"></a>00363 }
+<a name="l00364"></a>00364
+<a name="l00374"></a>00374 integer <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00375"></a>00375 integer r;
+<a name="l00376"></a>00376 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(r, n, byBits);
+<a name="l00377"></a>00377 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00378"></a>00378 }
+<a name="l00379"></a>00379
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -36,7 +36,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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#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#l00375">375</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/><h2>Constructor &amp; 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#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#l00377">377</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#l00359">359</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>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00360">360</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>
@@ -146,7 +146,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00362">362</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#l00381">381</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#l00368">368</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#l00387">387</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#l00365">365</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#l00384">384</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#l00372">372</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#l00391">391</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#l00372">372</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#l00391">391</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 Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">base_variable_length_integer</a> class</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">temp_t</a> class</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,991 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::base_integer Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_integer Class Reference</h1><!-- doxytag: class="boost::xint::detail::base_integer" -->
-<p>The base class for all integer classes.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::base_integer:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1detail_1_1base__integer.png" usemap="#boost::xint::detail::base_integer_map" alt=""/>
- <map id="boost::xint::detail::base_integer_map" name="boost::xint::detail::base_integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="143,56,419,80"/>
-<area href="classboost_1_1xint_1_1detail_1_1temp__t.html" alt="boost::xint::detail::temp_t" shape="rect" coords="572,56,848,80"/>
-<area href="classboost_1_1xint_1_1fixed__integer__any.html" alt="boost::xint::fixed_integer_any" shape="rect" coords="858,56,1134,80"/>
-<area href="classboost_1_1xint_1_1integer.html" alt="boost::xint::integer" shape="rect" coords="0,112,276,136"/>
-<area href="classboost_1_1xint_1_1nothrow__integer.html" alt="boost::xint::nothrow_integer" shape="rect" coords="286,112,562,136"/>
-<area href="classboost_1_1xint_1_1detail_1_1neg__t.html" alt="boost::xint::detail::neg_t" shape="rect" coords="572,112,848,136"/>
-<area href="classboost_1_1xint_1_1fixed__integer.html" alt="boost::xint::fixed_integer&lt; Bits &gt;" shape="rect" coords="858,112,1134,136"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a> ()</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Internal Functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;copy)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a> (bool absolute_value=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a> (size_t index, bool) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a> (size_t index) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a> (bool absolute_value=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a> (size_t new_digit_count)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a> (size_t digits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a> (bool neg)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a> (boost::intmax_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a> (boost::uintmax_t n, bool negative=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;other)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a> ()</td></tr>
-<tr><td colspan="2"><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a></td></tr>
-<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *new_data, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> flags=0, size_t extra_allocation=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a> (size_t count, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *adopt, bool neg=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;c, bool fixed)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a> ()</td></tr>
-<tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a> = 0x04</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a> = 0x01</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a> = 0x02</td></tr>
-<tr><td colspan="2"><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">base_variable_length_integer</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">temp_t</a></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The base class for all integer classes. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00144">144</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Member Typedef Documentation</h2>
-<a class="anchor" id="af85f2e55215d2ec3f15164fff64cddd9"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_t" ref="af85f2e55215d2ec3f15164fff64cddd9" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef unsigned int <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer::flag_t</a><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00192">192</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a33dd417aa6d0a7892efe3d497b8f3f80"></a><!-- doxytag: member="boost::xint::detail::base_integer::~base_integer" ref="a33dd417aa6d0a7892efe3d497b8f3f80" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::base_integer::~base_integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00055">55</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0e91eb0fd9e83d3cfc284d5b7e20207e"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a0e91eb0fd9e83d3cfc284d5b7e20207e" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::base_integer::base_integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab5e59c173051f19be31b5af9c2077de0"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="ab5e59c173051f19be31b5af9c2077de0" args="(const base_integer &amp;c, bool fixed)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::base_integer::base_integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>fixed</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00037">37</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a94fcb8494e0a8787c34ea6dcb9d5c4cf"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a94fcb8494e0a8787c34ea6dcb9d5c4cf" args="(data_t *adopt, bool neg=false)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::base_integer::base_integer </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td>
- <td class="paramname"> <em>adopt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>neg</em> = <code>false</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [explicit, protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a160a243a54984431613c88fb7fbacb0c"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a160a243a54984431613c88fb7fbacb0c" args="(size_t count, digit_t mask)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::base_integer::base_integer </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>count</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00043">43</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a3e0e821a38c37d4b94b61a62a9448b42"></a><!-- doxytag: member="boost::xint::detail::base_integer::_add" ref="a3e0e821a38c37d4b94b61a62a9448b42" args="(const base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_add </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9ee6c6d706a8dc8cdd1a16b1e65a47e2"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach" ref="a9ee6c6d706a8dc8cdd1a16b1e65a47e2" args="(const base_integer &amp;copy)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_attach </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>copy</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00270">270</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9e58a5897a80b8017ff7da7f0abacb6b"></a><!-- doxytag: member="boost::xint::detail::base_integer::_base_attach" ref="a9e58a5897a80b8017ff7da7f0abacb6b" args="(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_base_attach </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td>
- <td class="paramname"> <em>new_data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td>
- <td class="paramname"> <em>flags</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>extra_allocation</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00203">203</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab74b3c73fe6560f1f760b1a94612b189"></a><!-- doxytag: member="boost::xint::detail::base_integer::_cleanup" ref="ab74b3c73fe6560f1f760b1a94612b189" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_cleanup </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00275">275</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a91e4b721c42445501b136a13d7ce9d32"></a><!-- doxytag: member="boost::xint::detail::base_integer::_decrement" ref="a91e4b721c42445501b136a13d7ce9d32" args="(bool absolute_value=false)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_decrement </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>absolute_value</em> = <code>false</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00313">313</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a89015b1e803dbd5162f6b6e5f3ff374c"></a><!-- doxytag: member="boost::xint::detail::base_integer::_fixed_bits" ref="a89015b1e803dbd5162f6b6e5f3ff374c" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_fixed_bits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00143">143</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a546d2270418066857ddf948b20de4810"></a><!-- doxytag: member="boost::xint::detail::base_integer::_fixed_digits" ref="a546d2270418066857ddf948b20de4810" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_fixed_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00139">139</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a04f1087ed90152d3cc1b803b359951ab"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digit" ref="a04f1087ed90152d3cc1b803b359951ab" args="(size_t index, bool) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> boost::xint::detail::base_integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00063">63</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aad96a1fe27c2b1da6fe933acc444d98f"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digit" ref="aad96a1fe27c2b1da6fe933acc444d98f" args="(size_t index) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> boost::xint::detail::base_integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00059">59</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4dbd638f790c50cfb2f68af5d3852372"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digits" ref="a4dbd638f790c50cfb2f68af5d3852372" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> * boost::xint::detail::base_integer::_get_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00073">73</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7462afdf5589caa01bb1ed732f633469"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_length" ref="a7462afdf5589caa01bb1ed732f633469" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_get_length </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00077">77</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac9fbd48df9971107d98ff5840ee3557e"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_max_length" ref="ac9fbd48df9971107d98ff5840ee3557e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_get_max_length </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00081">81</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2a6ba9a67a9167e9535d735dacbaace7"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_negative" ref="a2a6ba9a67a9167e9535d735dacbaace7" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_get_negative </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac4692f68ae9b4c949680421c877dc400"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_readonly" ref="ac4692f68ae9b4c949680421c877dc400" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_get_readonly </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a355b981cef93f9c674fe4202b4d02d64"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_writable_digits" ref="a355b981cef93f9c674fe4202b4d02d64" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> * boost::xint::detail::base_integer::_get_writable_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00068">68</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab47afee36e91b35b199b0ac3b6542ad2"></a><!-- doxytag: member="boost::xint::detail::base_integer::_increment" ref="ab47afee36e91b35b199b0ac3b6542ad2" args="(bool absolute_value=false)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_increment </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>absolute_value</em> = <code>false</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00294">294</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a70e40ee3b40acbc6a7dd55a7f8d5c13c"></a><!-- doxytag: member="boost::xint::detail::base_integer::_is_fixed" ref="a70e40ee3b40acbc6a7dd55a7f8d5c13c" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_is_fixed </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00134">134</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afdaa612dd6669a12d349d6268f1ea3ff"></a><!-- doxytag: member="boost::xint::detail::base_integer::_is_nan" ref="afdaa612dd6669a12d349d6268f1ea3ff" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_is_nan </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00161">161</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aee70939aaa336233f62341cf7d595010"></a><!-- doxytag: member="boost::xint::detail::base_integer::_is_unique" ref="aee70939aaa336233f62341cf7d595010" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_is_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00126">126</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a576bd802f9b2cb8450250839bc52b98c"></a><!-- doxytag: member="boost::xint::detail::base_integer::_is_zero" ref="a576bd802f9b2cb8450250839bc52b98c" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_is_zero </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a29f37fcd3e14cd2b271d990edc3dbb56"></a><!-- doxytag: member="boost::xint::detail::base_integer::_log2" ref="a29f37fcd3e14cd2b271d990edc3dbb56" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_log2 </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00089">89</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a685da8a208baf4f77502062d4cc0f062"></a><!-- doxytag: member="boost::xint::detail::base_integer::_make_unique" ref="a685da8a208baf4f77502062d4cc0f062" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_make_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a36175e45a3f8660f59a9de593328fefd"></a><!-- doxytag: member="boost::xint::detail::base_integer::_realloc" ref="a36175e45a3f8660f59a9de593328fefd" args="(size_t new_digit_count)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_realloc </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>new_digit_count</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44cf0d0743513fe84addcaf2e66bb343"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_length" ref="a44cf0d0743513fe84addcaf2e66bb343" args="(size_t digits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_length </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>digits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00085">85</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a91cb2f84f30425e9158c2ac9bfcd9cb6"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_negative" ref="a91cb2f84f30425e9158c2ac9bfcd9cb6" args="(bool neg)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_negative </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>neg</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00154">154</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8e11790b0ec09eb4b74d2df00e63bf95"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_readonly" ref="a8e11790b0ec09eb4b74d2df00e63bf95" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_readonly </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af81476d55eaf931ff396c82894c7f72d"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_signed" ref="af81476d55eaf931ff396c82894c7f72d" args="(boost::intmax_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_signed </td>
- <td>(</td>
- <td class="paramtype">boost::intmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00113">113</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad87a527e2b5379b358484893a1cd8ebb"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_unsigned" ref="ad87a527e2b5379b358484893a1cd8ebb" args="(boost::uintmax_t n, bool negative=false)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_unsigned </td>
- <td>(</td>
- <td class="paramtype">boost::uintmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>negative</em> = <code>false</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00094">94</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4f7e982aa22a1910dd5daf0e260c43c5"></a><!-- doxytag: member="boost::xint::detail::base_integer::_subtract" ref="a4f7e982aa22a1910dd5daf0e260c43c5" args="(const base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_subtract </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6c2015c98805bf96d68aae1c13287a36"></a><!-- doxytag: member="boost::xint::detail::base_integer::_swap" ref="a6c2015c98805bf96d68aae1c13287a36" args="(base_integer &amp;other)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_swap </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>other</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1ee8597806a71bb2846b9b8eb8d05dce"></a><!-- doxytag: member="boost::xint::detail::base_integer::_to_integer" ref="a1ee8597806a71bb2846b9b8eb8d05dce" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::detail::base_integer::_to_integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00288">288</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2397061bb963562fd145ed5b4a6799ca"></a><!-- doxytag: member="boost::xint::detail::base_integer::_toggle_negative" ref="a2397061bb963562fd145ed5b4a6799ca" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_integer::_toggle_negative </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00159">159</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" id="abd3bad49963ec70a929110fbb435832a"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_variable_length_integer" ref="abd3bad49963ec70a929110fbb435832a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">friend class <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">base_variable_length_integer</a><code> [friend]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00213">213</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac1e1911bc92a092158db403a5412c561"></a><!-- doxytag: member="boost::xint::detail::base_integer::temp_t" ref="ac1e1911bc92a092158db403a5412c561" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">friend class <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">temp_t</a><code> [friend]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00212">212</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a988572f30ed3d8fc3b936eeec09724ef"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_fixedlength" ref="a988572f30ed3d8fc3b936eeec09724ef" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer::flag_fixedlength</a> = 0x04<code> [static, protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00206">206</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a406617f773cbc0901a60290c5bc4dbac"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_negative" ref="a406617f773cbc0901a60290c5bc4dbac" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer::flag_negative</a> = 0x01<code> [static, protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00204">204</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a993c7f7bfba3eec3cc5d1ed0fe7aa36c"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_readonly" ref="a993c7f7bfba3eec3cc5d1ed0fe7aa36c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer::flag_readonly</a> = 0x02<code> [static, protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00205">205</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
-<li><a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a></li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.png
==============================================================================
Binary file. No diff available.

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_variable_length_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::base_variable_length_integer Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">base_variable_length_integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_variable_length_integer Class Reference</h1><!-- doxytag: class="boost::xint::detail::base_variable_length_integer" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
-<p>The base class for the variable-length integer classes.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::base_variable_length_integer:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.png" usemap="#boost::xint::detail::base_variable_length_integer_map" alt=""/>
- <map id="boost::xint::detail::base_variable_length_integer_map" name="boost::xint::detail::base_variable_length_integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="143,0,419,24"/>
-<area href="classboost_1_1xint_1_1integer.html" alt="boost::xint::integer" shape="rect" coords="0,112,276,136"/>
-<area href="classboost_1_1xint_1_1nothrow__integer.html" alt="boost::xint::nothrow_integer" shape="rect" coords="286,112,562,136"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The base class for the variable-length integer classes. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00241">241</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="ae670e3ba7921916f7a7394c4bb9b940b"></a><!-- doxytag: member="boost::xint::detail::base_variable_length_integer::_attach_0" ref="ae670e3ba7921916f7a7394c4bb9b940b" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::base_variable_length_integer::_attach_0 </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00332">332</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
-<li><a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a></li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.png
==============================================================================
Binary file. No diff available.

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::bitqueue_t Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">bitqueue_t</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">empty</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">pop</a>(size_t requestedbits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">push</a>(doubledigit_t bits, size_t count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">size</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::bitqueue_t Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">bitqueue_t</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::bitqueue_t Class Reference</h1><!-- doxytag: class="boost::xint::detail::bitqueue_t" -->
-<p>Used internally to reorder bits into different-sized groupings.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">bitqueue_t</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">empty</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">pop</a> (size_t requestedbits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">push</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> bits, size_t count)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">size</a> () const </td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Used internally to reorder bits into different-sized groupings. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00247">247</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="ae3f9a0321a8e573f1048b897ce11f4b4"></a><!-- doxytag: member="boost::xint::detail::bitqueue_t::bitqueue_t" ref="ae3f9a0321a8e573f1048b897ce11f4b4" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::bitqueue_t::bitqueue_t </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00249">249</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="abc884d83f2a723db325c0ebe4234107b"></a><!-- doxytag: member="boost::xint::detail::bitqueue_t::empty" ref="abc884d83f2a723db325c0ebe4234107b" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::bitqueue_t::empty </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00252">252</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abb4ca67f80032f3a9f76981e8c8381cd"></a><!-- doxytag: member="boost::xint::detail::bitqueue_t::pop" ref="abb4ca67f80032f3a9f76981e8c8381cd" args="(size_t requestedbits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> boost::xint::detail::bitqueue_t::pop </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>requestedbits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00146">146</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9c77b31a13dd08ae79a087b27a414cbf"></a><!-- doxytag: member="boost::xint::detail::bitqueue_t::push" ref="a9c77b31a13dd08ae79a087b27a414cbf" args="(doubledigit_t bits, size_t count)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::bitqueue_t::push </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>&nbsp;</td>
- <td class="paramname"> <em>bits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00126">126</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35cc9b2d04b453c7fc9bbfbd472828f1"></a><!-- doxytag: member="boost::xint::detail::bitqueue_t::size" ref="a35cc9b2d04b453c7fc9bbfbd472828f1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::bitqueue_t::size </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00253">253</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
-<li><a class="el" href="data__t_8cpp_source.html">data_t.cpp</a></li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::neg_t Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">neg_t</a>(const base_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">temp_t</a>(const base_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#af26e03a868dee0812996555dc0ca2aa0">temp_t</a>(const base_integer &amp;b, size_t realloc_size)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::neg_t Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">neg_t</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::neg_t Class Reference</h1><!-- doxytag: class="boost::xint::detail::neg_t" --><!-- doxytag: inherits="boost::xint::detail::temp_t" -->
-<p>Makes a negated temporary integer that can always share storage.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::neg_t:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1detail_1_1neg__t.png" usemap="#boost::xint::detail::neg_t_map" alt=""/>
- <map id="boost::xint::detail::neg_t_map" name="boost::xint::detail::neg_t_map">
-<area href="classboost_1_1xint_1_1detail_1_1temp__t.html" alt="boost::xint::detail::temp_t" shape="rect" coords="0,56,182,80"/>
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">neg_t</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Makes a negated temporary integer that can always share storage. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00233">233</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a2d0092381d136bedd55a86b505e6e6a8"></a><!-- doxytag: member="boost::xint::detail::neg_t::neg_t" ref="a2d0092381d136bedd55a86b505e6e6a8" args="(const base_integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::neg_t::neg_t </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline, explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00235">235</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.png
==============================================================================
Binary file. No diff available.

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::temp_t Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">temp_t</a>(const base_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#af26e03a868dee0812996555dc0ca2aa0">temp_t</a>(const base_integer &amp;b, size_t realloc_size)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::temp_t Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">temp_t</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::temp_t Class Reference</h1><!-- doxytag: class="boost::xint::detail::temp_t" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
-<p>Makes a temporary integer that can always share storage.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::temp_t:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1detail_1_1temp__t.png" usemap="#boost::xint::detail::temp_t_map" alt=""/>
- <map id="boost::xint::detail::temp_t_map" name="boost::xint::detail::temp_t_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
-<area href="classboost_1_1xint_1_1detail_1_1neg__t.html" alt="boost::xint::detail::neg_t" shape="rect" coords="0,112,182,136"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#af26e03a868dee0812996555dc0ca2aa0">temp_t</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b, size_t realloc_size)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an empty integer of the same type as the one passed in. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">temp_t</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Makes a temporary integer that can always share storage. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00217">217</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="ad9076ae2f9de8dfe2c110696a83e9dd0"></a><!-- doxytag: member="boost::xint::detail::temp_t::temp_t" ref="ad9076ae2f9de8dfe2c110696a83e9dd0" args="(const base_integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::temp_t::temp_t </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline, explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00219">219</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af26e03a868dee0812996555dc0ca2aa0"></a><!-- doxytag: member="boost::xint::detail::temp_t::temp_t" ref="af26e03a868dee0812996555dc0ca2aa0" args="(const base_integer &amp;b, size_t realloc_size)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::detail::temp_t::temp_t </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>realloc_size</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Constructs an empty integer of the same type as the one passed in. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00226">226</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.png
==============================================================================
Binary file. No diff available.

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">cannot_represent</a>(const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_argument Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(const std::string &amp;what=&quot;invalid argument&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,42 +27,6 @@
 </div>
 <div class="contents">
 <h1>boost::xint::fixed_integer&lt; Bits &gt; Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">divide_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">fixed_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
@@ -76,10 +40,6 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a>(size_t count, detail::digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a>(detail::data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a>(const fixed_integer_any &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">operator!</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
@@ -105,9 +65,8 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">operator|=</a>(const fixed_integer_any &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">operator~</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -37,8 +37,7 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1fixed__integer.png" usemap="#boost::xint::fixed_integer&lt; Bits &gt;_map" alt=""/>
   <map id="boost::xint::fixed_integer&lt; Bits &gt;_map" name="boost::xint::fixed_integer&lt; Bits &gt;_map">
-<area href="classboost_1_1xint_1_1fixed__integer__any.html" alt="boost::xint::fixed_integer_any" shape="rect" coords="0,56,190,80"/>
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,190,24"/>
+<area href="classboost_1_1xint_1_1fixed__integer__any.html" alt="boost::xint::fixed_integer_any" shape="rect" coords="0,0,190,24"/>
 </map>
  </div>
 </div>
@@ -64,7 +63,7 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aa302b0b3adb58cf7d79009058322f528">fixed_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a9edb8090a8b2eb698f24fc6d74e591d8">fixed_integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae4a2bd977d06ebbb5449acc902648064">fixed_integer</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae4a2bd977d06ebbb5449acc902648064">fixed_integer</a> (const base_integer &amp;b)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts an existing xint type. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8ea211f55972c49956401951e3ae088b">fixed_integer</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;b)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> with the same size. <br/></td></tr>
@@ -195,7 +194,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
           <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramtype">const base_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>b</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline, explicit]</code></td>
@@ -964,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 Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.png
==============================================================================
Binary files. No diff available.

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,54 +27,13 @@
 </div>
 <div class="contents">
 <h1>boost::xint::fixed_integer_any Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a>(size_t count, detail::digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a>(detail::data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a>(const fixed_integer_any &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,7 +28,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::fixed_integer_any Class Reference</h1><!-- doxytag: class="boost::xint::fixed_integer_any" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
+<h1>boost::xint::fixed_integer_any Class Reference</h1><!-- doxytag: class="boost::xint::fixed_integer_any" -->
 <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.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
@@ -37,8 +37,7 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1fixed__integer__any.png" usemap="#boost::xint::fixed_integer_any_map" alt=""/>
   <map id="boost::xint::fixed_integer_any_map" name="boost::xint::fixed_integer_any_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,190,24"/>
-<area href="classboost_1_1xint_1_1fixed__integer.html" alt="boost::xint::fixed_integer&lt; Bits &gt;" shape="rect" coords="0,112,190,136"/>
+<area href="classboost_1_1xint_1_1fixed__integer.html" alt="boost::xint::fixed_integer&lt; Bits &gt;" shape="rect" coords="0,56,190,80"/>
 </map>
  </div>
 </div>
@@ -53,14 +52,14 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *adopt, bool neg=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a> (size_t count, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> mask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a> (detail::data_t *adopt, bool neg=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a> (size_t count, detail::digit_t mask)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <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#l00314">314</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#l00333">333</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="af6e682f145aaa5ceea6f8d81bf533442"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="af6e682f145aaa5ceea6f8d81bf533442" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
 <div class="memitem">
@@ -95,7 +94,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00322">322</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#l00341">341</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -132,7 +131,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00328">328</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#l00347">347</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -149,7 +148,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td>
+ <td class="paramtype">detail::digit_t&nbsp;</td>
           <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -161,7 +160,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00335">335</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#l00354">354</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -172,7 +171,7 @@
         <tr>
           <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td>
+ <td class="paramtype">detail::data_t *&nbsp;</td>
           <td class="paramname"> <em>adopt</em>, </td>
         </tr>
         <tr>
@@ -190,7 +189,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00337">337</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#l00356">356</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -210,7 +209,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00339">339</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#l00358">358</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -218,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 Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.png
==============================================================================
Binary files. No diff available.

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,49 +27,8 @@
 </div>
 <div class="contents">
 <h1>boost::xint::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">divide_t</a> typedef</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#afa36410b307d227f66657ea6f2116bdb">even</a>() 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_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">hex_digits</a>() 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#a33ad2603be1c3ae3823523265f7ee600">integer</a>()</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#afc2ddd14b40ab91640d10b134d2b7141">integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
@@ -106,9 +65,8 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a>(const integer &amp;n)</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#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>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,20 +28,9 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::integer Class Reference</h1><!-- doxytag: class="boost::xint::integer" --><!-- doxytag: inherits="boost::xint::detail::base_variable_length_integer" -->
+<h1>boost::xint::integer Class Reference</h1><!-- doxytag: class="boost::xint::integer" -->
 <p>The core integer class.
 <a href="#_details">More...</a></p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::integer:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1integer.png" usemap="#boost::xint::integer_map" alt=""/>
- <map id="boost::xint::integer_map" name="boost::xint::integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="0,56,276,80"/>
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,276,24"/>
-</map>
- </div>
-</div>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
@@ -152,7 +141,7 @@
 
 <p>Creates a new integer with an initial value of zero. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00027">27</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00025">25</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -182,7 +171,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00041">41</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00039">39</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -232,7 +221,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00055">55</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00053">53</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -261,7 +250,7 @@
 </dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00066">66</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00064">64</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -312,7 +301,7 @@
 <dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize values that are too large to fit into a native integral type.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00093">93</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00091">91</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -364,7 +353,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00231">231</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00233">233</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -416,7 +405,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00250">250</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00252">252</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -442,7 +431,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00113">113</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00111">111</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -467,7 +456,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00140">140</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00138">138</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -492,7 +481,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00103">103</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00101">101</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -511,7 +500,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00195">195</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +539,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00162">162</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -570,7 +559,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -590,7 +579,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00162">162</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -649,7 +638,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -669,7 +658,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -689,7 +678,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00145">145</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00143">143</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -708,7 +697,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -729,7 +718,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -749,7 +738,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00165">165</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -769,7 +758,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00148">148</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -789,7 +778,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00161">161</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -809,7 +798,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -829,7 +818,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -891,7 +880,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00155">155</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00153">153</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -911,7 +900,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00170">170</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -931,7 +920,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -951,7 +940,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -971,7 +960,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1003,7 +992,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>-1 if <code>*this</code> is negative, 0 if it's zero, or 1 if it's greater than zero. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00128">128</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00126">126</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1022,7 +1011,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00187">187</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00185">185</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1031,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 Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1integer.png
==============================================================================
Binary file. No diff available.

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,50 +27,9 @@
 </div>
 <div class="contents">
 <h1>boost::xint::nothrow_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">_make_unique</a>(bool)</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_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_variable_length_integer::_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">divide_t</a> typedef</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#a405c535527d1ff631c7338a6d329c51d">even</a>() 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_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">hex_digits</a>() 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#a1dd4d6157a77e2e1e13d2915661dce7d">is_nan</a>() 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#a9a8d654139e4fb916f933d09c7238e10">nan</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>
@@ -109,9 +68,8 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">operator|=</a>(const nothrow_integer &amp;n)</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#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>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,20 +28,9 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::nothrow_integer Class Reference</h1><!-- doxytag: class="boost::xint::nothrow_integer" --><!-- doxytag: inherits="boost::xint::detail::base_variable_length_integer" -->
+<h1>boost::xint::nothrow_integer Class Reference</h1><!-- doxytag: class="boost::xint::nothrow_integer" -->
 <p>The nothrow_integer class.
 <a href="#_details">More...</a></p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::nothrow_integer:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1nothrow__integer.png" usemap="#boost::xint::nothrow_integer_map" alt=""/>
- <map id="boost::xint::nothrow_integer_map" name="boost::xint::nothrow_integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="0,56,276,80"/>
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,276,24"/>
-</map>
- </div>
-</div>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
@@ -151,7 +140,7 @@
 <div class="memdoc">
 <p>Creates a new integer with an initial value of zero. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00034">34</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -181,7 +170,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00050">50</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -231,7 +220,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00067">67</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00068">68</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -260,7 +249,7 @@
 </dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00081">81</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00082">82</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -309,7 +298,7 @@
 <dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize values that are too large to fit into a native integral type.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00090">90</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00091">91</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -361,7 +350,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00268">268</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00270">270</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -413,7 +402,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00291">291</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00293">293</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -436,7 +425,7 @@
 
 <p>For internal use only. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00238">238</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00239">239</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -461,7 +450,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns <code>false</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00111">111</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00112">112</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -486,7 +475,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00131">131</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -509,7 +498,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is Not-a-Number, otherwise <code>false</code>.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="nan.html">The Not-a-Number Value</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00145">145</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00146">146</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -528,7 +517,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00229">229</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00230">230</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -553,7 +542,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns <code>false</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00102">102</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00103">103</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -572,7 +561,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00221">221</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00222">222</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -611,7 +600,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00183">183</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -631,7 +620,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00191">191</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -651,7 +640,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00181">181</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -710,7 +699,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00186">186</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00187">187</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -730,7 +719,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00185">185</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -750,7 +739,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00149">149</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -769,7 +758,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00179">179</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -790,7 +779,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00187">187</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00188">188</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -810,7 +799,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00185">185</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00186">186</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -830,7 +819,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00159">159</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -850,7 +839,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00181">181</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -870,7 +859,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00189">189</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00190">190</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -890,7 +879,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00195">195</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00196">196</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -952,7 +941,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -972,7 +961,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00190">190</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00191">191</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -992,7 +981,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00204">204</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00205">205</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1012,7 +1001,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00194">194</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1032,7 +1021,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1064,7 +1053,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00120">120</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00121">121</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1083,7 +1072,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00213">213</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00214">214</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1092,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 Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.png
==============================================================================
Binary file. No diff available.

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,7 +28,7 @@
 <div class="contents">
 <h1>boost::xint::strong_random_generator Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">entropy</a>() const </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#a1fec38eaf8f94dbcb866e9ee495a1eef">has_fixed_range</a></td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">has_fixed_range</a></td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">max</a>() const </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#ab1ae2657dfc2cbce1511d9991c21a68b">max_value</a></td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">min</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
@@ -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 Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,13 +44,13 @@
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a> ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">has_fixed_range</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">has_fixed_range</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">max_value</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">min_value</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>A convenience class for cryptographically-secure random numbers. </p>
-<p>Used with <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> to set the XInt library to use the system-supplied strong random number generator.</p>
+<p>Used with <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> to set the XInt library to use the system-supplied strong random number generator.</p>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
 
 <p>Definition at line <a class="el" href="random_8hpp_source.html#l00035">35</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
@@ -86,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00180">180</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00176">176</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00181">181</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00177">177</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -176,17 +176,17 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00182">182</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00178">178</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a1fec38eaf8f94dbcb866e9ee495a1eef"></a><!-- doxytag: member="boost::xint::strong_random_generator::has_fixed_range" ref="a1fec38eaf8f94dbcb866e9ee495a1eef" args="" -->
+<a class="anchor" id="afd7fd9d4b1f05c4ded47d72233651a74"></a><!-- doxytag: member="boost::xint::strong_random_generator::has_fixed_range" ref="afd7fd9d4b1f05c4ded47d72233651a74" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const bool <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator::has_fixed_range</a> = true<code> [static]</code></td>
+ <td class="memname">detail const bool <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">boost::xint::strong_random_generator::has_fixed_range</a> = true<code> [static]</code></td>
         </tr>
       </table>
 </div>
@@ -235,7 +235,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 Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -33,12 +33,12 @@
  class disable_boost_rv_ref&lt; T &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00047">47</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#l00064">64</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <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 Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classes.html
==============================================================================
--- sandbox/xint/doc/classes.html (original)
+++ sandbox/xint/doc/classes.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -26,21 +26,20 @@
   </div>
 </div>
 <div class="contents">
-<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
 <tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="clas
sboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">numeric_limits&lt; boost::xint::integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1
xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">base_variable_length_integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">bitqueue_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">temp_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">neg_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><
td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> (<a class="el" href="namespaceboost_1_1xint.html">boost:
:xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">bo
ost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">numeric_limits&lt; boost::xint::integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div
 class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
+</td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -286,7 +286,7 @@
 </div>
 <div class="memdoc">
 <b>Initial value:</b><div class="fragment"><pre class="fragment">
- <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a>(Bits))
+ <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(Bits))
 </pre></div>
 <p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00859">859</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
@@ -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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -69,7 +69,7 @@
  class std::numeric_limits&lt; boost::xint::integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00298">298</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00300">300</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aa0ce0042cd4a473feaf0efbe3bb6d3d7"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::integer &gt;::denorm_min" ref="aa0ce0042cd4a473feaf0efbe3bb6d3d7" args="()" -->
 <div class="memitem">
@@ -86,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00313">313</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00325">325</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00327">327</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -143,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00303">303</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -162,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00302">302</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00304">304</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -181,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00326">326</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -200,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00312">312</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00314">314</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -219,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00327">327</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00329">329</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -235,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -250,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00306">306</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00308">308</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -265,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00324">324</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -280,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00323">323</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00325">325</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00319">319</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00321">321</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00320">320</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -325,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00321">321</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00323">323</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -340,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00331">331</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00333">333</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -355,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -370,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -385,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00308">308</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00310">310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -400,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -415,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -430,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00300">300</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00302">302</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -445,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00318">318</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -460,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00317">317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00319">319</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -475,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00314">314</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -490,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00315">315</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00317">317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -505,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00310">310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00312">312</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -520,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00336">336</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00338">338</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -535,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00335">335</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00337">337</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00336">336</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -558,7 +558,7 @@
 <li><a class="el" href="integer_8hpp_source.html">integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -69,7 +69,7 @@
  class std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00366">366</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00368">368</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aab4e0d9304ec3163dd04c2f1fd51f0a0"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::nothrow_integer &gt;::denorm_min" ref="aab4e0d9304ec3163dd04c2f1fd51f0a0" args="()" -->
 <div class="memitem">
@@ -86,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00397">397</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00399">399</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00379">379</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00381">381</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00393">393</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00395">395</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -143,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00371">371</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00373">373</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -162,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00370">370</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00372">372</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -181,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00394">394</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -200,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00380">380</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00382">382</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -219,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00398">398</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -235,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00373">373</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00375">375</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -250,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00374">374</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -265,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00390">390</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00392">392</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -280,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00391">391</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00393">393</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00387">387</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00389">389</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00388">388</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00390">390</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -325,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00389">389</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00391">391</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -340,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00400">400</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00402">402</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -355,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00377">377</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00379">379</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -370,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00399">399</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -385,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00378">378</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -400,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -415,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00375">375</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00377">377</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -430,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00368">368</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00370">370</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -445,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00384">384</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00386">386</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -460,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00385">385</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00387">387</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -475,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00382">382</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00384">384</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -490,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00383">383</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00385">385</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -505,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00378">378</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00380">380</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -520,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00407">407</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -535,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00404">404</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00406">406</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -558,7 +558,7 @@
 <li><a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,19 +38,13 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail::compare</a> (const base_integer &amp;b1, const base_integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">boost::xint::compare</a> (const fixed_integer_any &amp;b1, const fixed_integer_any &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
@@ -73,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -42,80 +42,80 @@
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>detail {
-<a name="l00025"></a>00025 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(<span class="keyword">const</span> base_integer &amp;b1, <span class="keyword">const</span> base_integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
-<a name="l00026"></a>00026 <span class="keywordtype">bool</span> invert_answer=<span class="keyword">false</span>;
-<a name="l00027"></a>00027 <span class="keywordflow">if</span> (!ignoresign) {
-<a name="l00028"></a>00028 <span class="keywordflow">if</span> (b1._is_zero()) {
-<a name="l00029"></a>00029 <span class="keywordflow">if</span> (b2._is_zero()) <span class="keywordflow">return</span> 0;
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> (b2._get_negative() ? 1 : -1);
-<a name="l00031"></a>00031 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (b2._is_zero()) {
-<a name="l00032"></a>00032 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
-<a name="l00033"></a>00033 } <span class="keywordflow">else</span> {
-<a name="l00034"></a>00034 <span class="keywordflow">if</span> (b1._get_negative() != b2._get_negative())
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (b1._get_negative()) invert_answer=<span class="keyword">true</span>;
-<a name="l00037"></a>00037 }
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keywordtype">int</span> answer=0;
-<a name="l00041"></a>00041 <span class="keywordtype">size_t</span> len=b1._get_length(), len2=b2._get_length();
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (len != len2) {
-<a name="l00043"></a>00043 answer=((len &lt; len2) ? -1 : 1);
-<a name="l00044"></a>00044 } <span class="keywordflow">else</span> {
-<a name="l00045"></a>00045 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b1d=b1._get_digits(), *b1i=b1d+len;
-<a name="l00046"></a>00046 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b2d=b2._get_digits(), *b2i=b2d+len;
-<a name="l00047"></a>00047 <span class="keywordflow">while</span> (b1i &gt; b1d)
-<a name="l00048"></a>00048 <span class="keywordflow">if</span> (*(--b1i) != *(--b2i)) {
-<a name="l00049"></a>00049 answer = ((*b1i &lt; *b2i) ? -1 : 1);
-<a name="l00050"></a>00050 <span class="keywordflow">break</span>;
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> (invert_answer ? -answer : answer);
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 } <span class="comment">// namespace detail</span>
-<a name="l00057"></a>00057
-<a name="l00069"></a>00069 <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> integer &amp;b1, <span class="keyword">const</span> integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2, ignoresign);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
-<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
-<a name="l00075"></a>00075 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
-<a name="l00077"></a>00077 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
-<a name="l00079"></a>00079 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
-<a name="l00081"></a>00081 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00082"></a>00082 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
-<a name="l00083"></a>00083 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
-<a name="l00085"></a>00085
-<a name="l00098"></a>00098 <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> fixed_integer_any&amp; b1, <span class="keyword">const</span> fixed_integer_any&amp; b2, <span class="keywordtype">bool</span>
-<a name="l00099"></a>00099 ignoresign)
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2, ignoresign);
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> fixed_integer_any &amp;num1, <span class="keyword">const</span> fixed_integer_any &amp;num2) {
-<a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
-<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
-<a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
-<a name="l00108"></a>00108 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
-<a name="l00109"></a>00109 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
-<a name="l00110"></a>00110 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
-<a name="l00111"></a>00111 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
-<a name="l00112"></a>00112 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
-<a name="l00114"></a>00114 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
-<a name="l00115"></a>00115 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 } <span class="comment">// namespace xint</span>
-<a name="l00118"></a>00118 } <span class="comment">// namespace boost</span>
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail {
+<a name="l00026"></a>00026 <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 &amp;b1, <span class="keyword">const</span> base_integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
+<a name="l00027"></a>00027 <span class="keywordtype">bool</span> invert_answer=<span class="keyword">false</span>;
+<a name="l00028"></a>00028 <span class="keywordflow">if</span> (!ignoresign) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (b1._is_zero()) {
+<a name="l00030"></a>00030 <span class="keywordflow">if</span> (b2._is_zero()) <span class="keywordflow">return</span> 0;
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> (b2._get_negative() ? 1 : -1);
+<a name="l00032"></a>00032 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (b2._is_zero()) {
+<a name="l00033"></a>00033 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
+<a name="l00034"></a>00034 } <span class="keywordflow">else</span> {
+<a name="l00035"></a>00035 <span class="keywordflow">if</span> (b1._get_negative() != b2._get_negative())
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (b1._get_negative()) invert_answer=<span class="keyword">true</span>;
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordtype">int</span> answer=0;
+<a name="l00042"></a>00042 <span class="keywordtype">size_t</span> len=b1._get_length(), len2=b2._get_length();
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (len != len2) {
+<a name="l00044"></a>00044 answer=((len &lt; len2) ? -1 : 1);
+<a name="l00045"></a>00045 } <span class="keywordflow">else</span> {
+<a name="l00046"></a>00046 <span class="keyword">const</span> detail::digit_t *b1d=b1._get_digits(), *b1i=b1d+len;
+<a name="l00047"></a>00047 <span class="keyword">const</span> detail::digit_t *b2d=b2._get_digits(), *b2i=b2d+len;
+<a name="l00048"></a>00048 <span class="keywordflow">while</span> (b1i &gt; b1d)
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (*(--b1i) != *(--b2i)) {
+<a name="l00050"></a>00050 answer = ((*b1i &lt; *b2i) ? -1 : 1);
+<a name="l00051"></a>00051 <span class="keywordflow">break</span>;
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> (invert_answer ? -answer : answer);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 } <span class="comment">// namespace detail</span>
+<a name="l00059"></a>00059 <span class="comment"></span>
+<a name="l00071"></a>00071 <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> integer &amp;b1, <span class="keyword">const</span> integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">detail::compare</a>(b1, b2, ignoresign);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
+<a name="l00077"></a>00077 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
+<a name="l00081"></a>00081 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
+<a name="l00085"></a>00085 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
+<a name="l00087"></a>00087
+<a name="l00100"></a>00100 <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> fixed_integer_any&amp; b1, <span class="keyword">const</span> fixed_integer_any&amp; b2, <span class="keywordtype">bool</span>
+<a name="l00101"></a>00101 ignoresign)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">detail::compare</a>(b1, b2, ignoresign);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> fixed_integer_any &amp;num1, <span class="keyword">const</span> fixed_integer_any &amp;num2) {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00109"></a>00109 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
+<a name="l00110"></a>00110 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
+<a name="l00112"></a>00112 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
+<a name="l00114"></a>00114 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
+<a name="l00116"></a>00116 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
+<a name="l00118"></a>00118
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/complexity.html
==============================================================================
--- sandbox/xint/doc/complexity.html (original)
+++ sandbox/xint/doc/complexity.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -23,9 +23,10 @@
 <div class="contents">
 
 
-<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 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>
+<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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/complexity_8dox.html
==============================================================================
--- sandbox/xint/doc/complexity_8dox.html (original)
+++ sandbox/xint/doc/complexity_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/convert_8cpp.html (original)
+++ sandbox/xint/doc/convert_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,16 +38,7 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail::from_binary</a> (base_integer &amp;target, const xint::binary_t &amp;b, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail::from_string</a> (base_integer &amp;target, const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail::to_binary</a> (xint::binary_t &amp;target, const base_integer &amp;n, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail::to_string</a> (const base_integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
 </div></td></tr>
@@ -58,7 +49,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint::to_binary</a> (const integer &amp;n, size_t bits)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a185dd459850bfd588a4a9b3c67e8c09c">boost::xint::to_string</a> (const fixed_integer_any &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -67,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,192 +44,190 @@
 <a name="l00026"></a>00026 <span class="keyword">namespace </span>boost {
 <a name="l00027"></a>00027 <span class="keyword">namespace </span>xint {
 <a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>{
-<a name="l00030"></a>00030 <span class="keywordtype">char</span> nToChar(<span class="keywordtype">int</span> n, <span class="keywordtype">bool</span> upperCase) {
-<a name="l00031"></a>00031 <span class="keywordflow">if</span> (n &lt; 10) <span class="keywordflow">return</span> char(n+<span class="charliteral">&#39;0&#39;</span>);
-<a name="l00032"></a>00032 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (upperCase) <span class="keywordflow">return</span> char((n - 10) + <span class="charliteral">&#39;A&#39;</span>);
-<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> char((n - 10) + <span class="charliteral">&#39;a&#39;</span>);
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 } <span class="comment">// namespace</span>
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">namespace </span>detail {
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a>(<span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
-<a name="l00040"></a>00040 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) <span class="keywordflow">throw</span> exceptions::invalid_base();
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (n._is_zero()) <span class="keywordflow">return</span> <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 std::ostringstream out;
-<a name="l00045"></a>00045 <span class="keywordflow">if</span> (base == 2 || base == 4 || base == 16) {
-<a name="l00046"></a>00046 <span class="comment">// Fast no-division version, useful for debugging division and for cases</span>
-<a name="l00047"></a>00047 <span class="comment">// where maximum speed is necessary.</span>
-<a name="l00048"></a>00048 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *firstDigit=n._get_digits(),
-<a name="l00049"></a>00049 *lastDigit=firstDigit + n._get_length() - 1;
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keywordflow">if</span> (n._get_negative()) out &lt;&lt; <span class="charliteral">&#39;-&#39;</span>;
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keywordtype">int</span> bits_per_base_b_digit = 0;
-<a name="l00054"></a>00054 <span class="keywordflow">while</span> (base &gt; 1) { base = base &gt;&gt; 1; ++bits_per_base_b_digit; }
-<a name="l00055"></a>00055 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; bits_per_base_b_digit)-1;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="comment">// Skip any leading zeros</span>
-<a name="l00058"></a>00058 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d=lastDigit;
-<a name="l00059"></a>00059 <span class="keywordtype">int</span> digitShift=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits_per_base_b_digit);
-<a name="l00060"></a>00060 <span class="keywordflow">while</span> (digitShift &gt;= 0 &amp;&amp; ((*d &gt;&gt; digitShift) &amp; mask) == 0)
-<a name="l00061"></a>00061 digitShift -= bits_per_base_b_digit;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keywordflow">do</span> {
-<a name="l00064"></a>00064 <span class="keywordflow">while</span> (digitShift &gt;= 0) {
-<a name="l00065"></a>00065 out &lt;&lt; nToChar((*d &gt;&gt; digitShift) &amp; mask, uppercase);
-<a name="l00066"></a>00066 digitShift -= bits_per_base_b_digit;
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 digitShift=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits_per_base_b_digit);
-<a name="l00070"></a>00070 } <span class="keywordflow">while</span> (d-- != firstDigit);
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> out.str();
-<a name="l00073"></a>00073 } <span class="keywordflow">else</span> {
-<a name="l00074"></a>00074 <span class="comment">// NOTE: for when there&#39;s nothing more pressing to do</span>
-<a name="l00075"></a>00075 <span class="comment">// This could be made a lot more efficient for very large numbers, by</span>
-<a name="l00076"></a>00076 <span class="comment">// dividing n by base raised to whatever number of digits will fit into</span>
-<a name="l00077"></a>00077 <span class="comment">// a doubledigit_t, then just doing single-digit divides for that many</span>
-<a name="l00078"></a>00078 <span class="comment">// digits before going back to n for another chunk. That would be</span>
-<a name="l00079"></a>00079 <span class="comment">// premature optimization though, so I&#39;m just making this note instead.</span>
-<a name="l00080"></a>00080 <span class="comment">// If someone can show me a use-case where more efficiency is needed in</span>
-<a name="l00081"></a>00081 <span class="comment">// this function, I&#39;ll add it later.</span>
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <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="l00084"></a>00084 <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a> a(n._to_integer(), <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">integer::zero</a>());
-<a name="l00085"></a>00085 a.quotient._set_negative(<span class="keyword">false</span>);
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 integer r;
-<a name="l00088"></a>00088 <span class="keywordflow">while</span> (!a.quotient._is_zero()) {
-<a name="l00089"></a>00089 a = <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(a.quotient, <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>);
-<a name="l00090"></a>00090 out &lt;&lt; nToChar(a.remainder._get_digit(0), uppercase);
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">if</span> (n._get_negative()) out &lt;&lt; <span class="charliteral">&#39;-&#39;</span>;
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 std::string rval=out.str();
-<a name="l00096"></a>00096 std::reverse(rval.begin(), rval.end());
-<a name="l00097"></a>00097 <span class="keywordflow">return</span> rval;
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">from_string</a>(base_integer&amp; target, <span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00102"></a>00102 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>=<span class="keyword">false</span>;
-<a name="l00103"></a>00103 <span class="keyword">const</span> <span class="keywordtype">char</span> *c=str.c_str();
-<a name="l00104"></a>00104 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;+&#39;</span>) ++c;
-<a name="l00105"></a>00105 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;-&#39;</span>) { negate=<span class="keyword">true</span>; ++c; }
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00109"></a>00109 ++c;
-<a name="l00110"></a>00110 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;x&#39;</span> || *c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00111"></a>00111 ++c;
-<a name="l00112"></a>00112 base=16;
-<a name="l00113"></a>00113 } <span class="keywordflow">else</span> base=8;
-<a name="l00114"></a>00114 } <span class="keywordflow">else</span> base=10;
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) <span class="keywordflow">throw</span> exceptions::invalid_base();
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (*c==0) <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;No valid digits&quot;</span>);
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <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="l00121"></a>00121
-<a name="l00122"></a>00122 <span class="comment">// NOTE: for when there&#39;s nothing more pressing to do</span>
-<a name="l00123"></a>00123 <span class="comment">// This function could use the same efficiency improvements that to_string</span>
-<a name="l00124"></a>00124 <span class="comment">// uses, but there&#39;s even less need for them here. Show me a use-case where</span>
-<a name="l00125"></a>00125 <span class="comment">// they&#39;re needed and I&#39;ll add them; until then, this will suffice.</span>
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 integer r;
-<a name="l00128"></a>00128 <span class="keywordflow">while</span> (*c) {
-<a name="l00129"></a>00129 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> digit;
-<a name="l00130"></a>00130 <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;9&#39;</span>) digit=*c-<span class="charliteral">&#39;0&#39;</span>;
-<a name="l00131"></a>00131 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;Z&#39;</span>) digit=*c-<span class="charliteral">&#39;A&#39;</span>+10;
-<a name="l00132"></a>00132 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;z&#39;</span>) digit=*c-<span class="charliteral">&#39;a&#39;</span>+10;
-<a name="l00133"></a>00133 <span class="keywordflow">else</span>
-<a name="l00134"></a>00134 <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;encountered non-alphanumeric &quot;</span>
-<a name="l00135"></a>00135 <span class="stringliteral">&quot;character in string&quot;</span>);
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="keywordflow">if</span> (digit &gt;= base) <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;encountered digit &quot;</span>
-<a name="l00138"></a>00138 <span class="stringliteral">&quot;greater than base allows&quot;</span>);
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 r = (r * <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) + digit;
-<a name="l00141"></a>00141 ++c;
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143 r._set_negative(negate);
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 target._attach(r);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">to_binary</a>(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> bits) {
-<a name="l00149"></a>00149 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
-<a name="l00150"></a>00150 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
-<a name="l00151"></a>00151 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 bitqueue_t bitqueue;
-<a name="l00155"></a>00155 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = n._get_digits(), *se = s + n._get_length();
-<a name="l00156"></a>00156 <span class="keywordflow">while</span> (s != se) bitqueue.push(*s++, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keywordflow">while</span> (!bitqueue.empty()) target.push_back(static_cast&lt;unsigned char&gt;
-<a name="l00159"></a>00159 (bitqueue.pop(bits)));
-<a name="l00160"></a>00160 <span class="keywordflow">while</span> (!target.empty() &amp;&amp; target.back()==0) target.pop_back();
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">from_binary</a>(base_integer&amp; target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
-<a name="l00164"></a>00164 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
-<a name="l00165"></a>00165 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
-<a name="l00166"></a>00166 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
-<a name="l00167"></a>00167 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 bitqueue_t bitqueue;
-<a name="l00170"></a>00170 <span class="keywordflow">for</span> (xint::binary_t::const_iterator s = b.begin(), se = b.end(); s != se;
-<a name="l00171"></a>00171 ++s) bitqueue.push(*s, bits);
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keywordtype">size_t</span> rlen = ((b.size() * bits) + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - 1) / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00174"></a>00174 temp_t r(target, rlen);
-<a name="l00175"></a>00175 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = r._get_writable_digits(), *te = t + r._get_length();
-<a name="l00176"></a>00176 <span class="keywordflow">while</span> (t != te &amp;&amp; !bitqueue.empty())
-<a name="l00177"></a>00177 *t++ = static_cast&lt;digit_t&gt;(bitqueue.pop(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 r._cleanup();
-<a name="l00180"></a>00180 target._attach(r);
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182
-<a name="l00183"></a>00183 } <span class="comment">// namespace detail</span>
-<a name="l00184"></a>00184
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>detail {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keywordtype">char</span> nToChar(<span class="keywordtype">int</span> n, <span class="keywordtype">bool</span> upperCase) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (n &lt; 10) <span class="keywordflow">return</span> char(n+<span class="charliteral">&#39;0&#39;</span>);
+<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (upperCase) <span class="keywordflow">return</span> char((n - 10) + <span class="charliteral">&#39;A&#39;</span>);
+<a name="l00035"></a>00035 <span class="keywordflow">else</span> <span class="keywordflow">return</span> char((n - 10) + <span class="charliteral">&#39;a&#39;</span>);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 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&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
+<a name="l00039"></a>00039 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) <span class="keywordflow">throw</span> exceptions::invalid_base();
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordflow">if</span> (n._is_zero()) <span class="keywordflow">return</span> <span class="stringliteral">&quot;0&quot;</span>;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 std::ostringstream out;
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (base == 2 || base == 4 || base == 16) {
+<a name="l00045"></a>00045 <span class="comment">// Fast no-division version, useful for debugging division and for cases</span>
+<a name="l00046"></a>00046 <span class="comment">// where maximum speed is necessary.</span>
+<a name="l00047"></a>00047 <span class="keyword">const</span> digit_t *firstDigit=n._get_digits(),
+<a name="l00048"></a>00048 *lastDigit=firstDigit + n._get_length() - 1;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordflow">if</span> (n._get_negative()) out &lt;&lt; <span class="charliteral">&#39;-&#39;</span>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordtype">int</span> bits_per_base_b_digit = 0;
+<a name="l00053"></a>00053 <span class="keywordflow">while</span> (base &gt; 1) { base = base &gt;&gt; 1; ++bits_per_base_b_digit; }
+<a name="l00054"></a>00054 <span class="keyword">const</span> digit_t mask=(doubledigit_t(1) &lt;&lt; bits_per_base_b_digit)-1;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Skip any leading zeros</span>
+<a name="l00057"></a>00057 <span class="keyword">const</span> digit_t *d=lastDigit;
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> digitShift=(bits_per_digit - bits_per_base_b_digit);
+<a name="l00059"></a>00059 <span class="keywordflow">while</span> (digitShift &gt;= 0 &amp;&amp; ((*d &gt;&gt; digitShift) &amp; mask) == 0)
+<a name="l00060"></a>00060 digitShift -= bits_per_base_b_digit;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordflow">do</span> {
+<a name="l00063"></a>00063 <span class="keywordflow">while</span> (digitShift &gt;= 0) {
+<a name="l00064"></a>00064 out &lt;&lt; nToChar((*d &gt;&gt; digitShift) &amp; mask, uppercase);
+<a name="l00065"></a>00065 digitShift -= bits_per_base_b_digit;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 digitShift=(bits_per_digit - bits_per_base_b_digit);
+<a name="l00069"></a>00069 } <span class="keywordflow">while</span> (d-- != firstDigit);
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> out.str();
+<a name="l00072"></a>00072 } <span class="keywordflow">else</span> {
+<a name="l00073"></a>00073 <span class="comment">// NOTE: for when there&#39;s nothing more pressing to do</span>
+<a name="l00074"></a>00074 <span class="comment">// This could be made a lot more efficient for very large numbers, by</span>
+<a name="l00075"></a>00075 <span class="comment">// dividing n by base raised to whatever number of digits will fit into</span>
+<a name="l00076"></a>00076 <span class="comment">// a doubledigit_t, then just doing single-digit divides for that many</span>
+<a name="l00077"></a>00077 <span class="comment">// digits before going back to n for another chunk. That would be</span>
+<a name="l00078"></a>00078 <span class="comment">// premature optimization though, so I&#39;m just making this note instead.</span>
+<a name="l00079"></a>00079 <span class="comment">// If someone can show me a use-case where more efficiency is needed in</span>
+<a name="l00080"></a>00080 <span class="comment">// this function, I&#39;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="l00084"></a>00084 a.quotient._set_negative(<span class="keyword">false</span>);
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 integer r;
+<a name="l00087"></a>00087 <span class="keywordflow">while</span> (!a.quotient._is_zero()) {
+<a name="l00088"></a>00088 a = <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(a.quotient, <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>);
+<a name="l00089"></a>00089 out &lt;&lt; nToChar(a.remainder._get_digit(0), uppercase);
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (n._get_negative()) out &lt;&lt; <span class="charliteral">&#39;-&#39;</span>;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 std::string rval=out.str();
+<a name="l00095"></a>00095 std::reverse(rval.begin(), rval.end());
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> rval;
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <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&amp; target, <span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00101"></a>00101 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>=<span class="keyword">false</span>;
+<a name="l00102"></a>00102 <span class="keyword">const</span> <span class="keywordtype">char</span> *c=str.c_str();
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;+&#39;</span>) ++c;
+<a name="l00104"></a>00104 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;-&#39;</span>) { negate=<span class="keyword">true</span>; ++c; }
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;0&#39;</span>) {
+<a name="l00108"></a>00108 ++c;
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;x&#39;</span> || *c==<span class="charliteral">&#39;X&#39;</span>) {
+<a name="l00110"></a>00110 ++c;
+<a name="l00111"></a>00111 base=16;
+<a name="l00112"></a>00112 } <span class="keywordflow">else</span> base=8;
+<a name="l00113"></a>00113 } <span class="keywordflow">else</span> base=10;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) <span class="keywordflow">throw</span> exceptions::invalid_base();
+<a name="l00117"></a>00117 <span class="keywordflow">if</span> (*c==0) <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;No valid digits&quot;</span>);
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <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="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="comment">// NOTE: for when there&#39;s nothing more pressing to do</span>
+<a name="l00122"></a>00122 <span class="comment">// This function could use the same efficiency improvements that to_string</span>
+<a name="l00123"></a>00123 <span class="comment">// uses, but there&#39;s even less need for them here. Show me a use-case where</span>
+<a name="l00124"></a>00124 <span class="comment">// they&#39;re needed and I&#39;ll add them; until then, this will suffice.</span>
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 integer r;
+<a name="l00127"></a>00127 <span class="keywordflow">while</span> (*c) {
+<a name="l00128"></a>00128 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> digit;
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;9&#39;</span>) digit=*c-<span class="charliteral">&#39;0&#39;</span>;
+<a name="l00130"></a>00130 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;Z&#39;</span>) digit=*c-<span class="charliteral">&#39;A&#39;</span>+10;
+<a name="l00131"></a>00131 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; *c&lt;=<span class="charliteral">&#39;z&#39;</span>) digit=*c-<span class="charliteral">&#39;a&#39;</span>+10;
+<a name="l00132"></a>00132 <span class="keywordflow">else</span>
+<a name="l00133"></a>00133 <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;encountered non-alphanumeric &quot;</span>
+<a name="l00134"></a>00134 <span class="stringliteral">&quot;character in string&quot;</span>);
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (digit &gt;= base) <span class="keywordflow">throw</span> exceptions::invalid_digit(<span class="stringliteral">&quot;encountered digit &quot;</span>
+<a name="l00137"></a>00137 <span class="stringliteral">&quot;greater than base allows&quot;</span>);
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 r = (r * <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) + digit;
+<a name="l00140"></a>00140 ++c;
+<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="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>&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keywordtype">size_t</span> bits) {
+<a name="l00148"></a>00148 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
+<a name="l00149"></a>00149 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
+<a name="l00150"></a>00150 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
+<a name="l00151"></a>00151 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 bitqueue_t bitqueue;
+<a name="l00154"></a>00154 <span class="keyword">const</span> digit_t *s = n._get_digits(), *se = s + n._get_length();
+<a name="l00155"></a>00155 <span class="keywordflow">while</span> (s != se) bitqueue.push(*s++, bits_per_digit);
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keywordflow">while</span> (!bitqueue.empty()) target.push_back(static_cast&lt;unsigned char&gt;
+<a name="l00158"></a>00158 (bitqueue.pop(bits)));
+<a name="l00159"></a>00159 <span class="keywordflow">while</span> (!target.empty() &amp;&amp; target.back()==0) target.pop_back();
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <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&amp; target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
+<a name="l00163"></a>00163 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
+<a name="l00164"></a>00164 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
+<a name="l00165"></a>00165 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
+<a name="l00166"></a>00166 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 bitqueue_t bitqueue;
+<a name="l00169"></a>00169 <span class="keywordflow">for</span> (xint::binary_t::const_iterator s = b.begin(), se = b.end(); s != se;
+<a name="l00170"></a>00170 ++s) bitqueue.push(*s, bits);
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keywordtype">size_t</span> rlen = ((b.size() * bits) + bits_per_digit - 1) / bits_per_digit;
+<a name="l00173"></a>00173 temp_t r(target, rlen);
+<a name="l00174"></a>00174 digit_t *t = r._get_writable_digits(), *te = t + r._get_length();
+<a name="l00175"></a>00175 <span class="keywordflow">while</span> (t != te &amp;&amp; !bitqueue.empty())
+<a name="l00176"></a>00176 *t++ = static_cast&lt;digit_t&gt;(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="l00180"></a>00180 }
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 } <span class="comment">// namespace detail</span>
+<a name="l00184"></a>00184 <span class="comment"></span>
 <a name="l00204"></a>00204 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> integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
-<a name="l00205"></a>00205 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">detail::to_string</a>(n, base, uppercase);
+<a name="l00205"></a>00205 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">detail::to_string</a>(n, base, uppercase);
 <a name="l00206"></a>00206 }
 <a name="l00207"></a>00207
 <a name="l00212"></a>00212 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> fixed_integer_any&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">detail::to_string</a>(n, base, uppercase);
+<a name="l00213"></a>00213 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">detail::to_string</a>(n, base, uppercase);
 <a name="l00214"></a>00214 }
 <a name="l00215"></a>00215
 <a name="l00241"></a>00241 integer <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
 <a name="l00242"></a>00242 integer r;
-<a name="l00243"></a>00243 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(r, str, base);
+<a name="l00243"></a>00243 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(r, str, base);
 <a name="l00244"></a>00244 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00245"></a>00245 }
 <a name="l00246"></a>00246
 <a name="l00266"></a>00266 integer <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
 <a name="l00267"></a>00267 integer r;
-<a name="l00268"></a>00268 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">detail::from_binary</a>(r, b, bits);
+<a name="l00268"></a>00268 <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">detail::from_binary</a>(r, b, bits);
 <a name="l00269"></a>00269 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00270"></a>00270 }
 <a name="l00271"></a>00271
 <a name="l00299"></a>00299 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> bits) {
 <a name="l00300"></a>00300 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
-<a name="l00301"></a>00301 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">detail::to_binary</a>(r, n, bits);
+<a name="l00301"></a>00301 <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">detail::to_binary</a>(r, n, bits);
 <a name="l00302"></a>00302 <span class="keywordflow">return</span> r;
 <a name="l00303"></a>00303 }
 <a name="l00304"></a>00304
 <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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/copyonwrite_8dox.html
==============================================================================
--- sandbox/xint/doc/copyonwrite_8dox.html (original)
+++ sandbox/xint/doc/copyonwrite_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/cow.html
==============================================================================
--- sandbox/xint/doc/cow.html (original)
+++ sandbox/xint/doc/cow.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,24 +38,8 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Defines</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">VALGRIND_COMPATIBLE</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">The data_t functions.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp583f07902076b847c6a492abda2f342d"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length, digit_t mask)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail::allocate_fixed</a> (digit_t mask, size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail::allocate_fixed_zero</a> (digit_t mask, size_t max_digits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail::deallocate</a> (data_t *data)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail::reallocate</a> (data_t *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a589b1fc1784e06a3aef44c86254f1a45">boost::xint::detail::zero</a> (digit_t *p, size_t size)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail::zero</a> (digit_t *p, digit_t *end)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for data_t allocation functions. </p>
@@ -78,7 +62,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,149 +44,151 @@
 <a name="l00023"></a>00023
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> datasize = (<span class="keyword">sizeof</span>(data_t)+<span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>)-1) /
-<a name="l00029"></a>00029 <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>);
-<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> minimum_digits = 1, digits_in_struct = 1;
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *end) {
-<a name="l00033"></a>00033 <span class="keywordflow">while</span> (p &lt; end) *p++ = 0;
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, <span class="keywordtype">size_t</span> size) {
-<a name="l00037"></a>00037 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(p, p + size);
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 data_t *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(<span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask) {
-<a name="l00041"></a>00041 max_digits = (std::max)(max_digits, minimum_digits);
-<a name="l00042"></a>00042 <span class="keywordtype">size_t</span> count = max_digits - digits_in_struct + datasize;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keywordflow">try</span> {
-<a name="l00045"></a>00045 <span class="preprocessor"> #ifdef VALGRIND_COMPATIBLE</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span> <span class="keywordtype">void</span> *storage = malloc(count * <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>));
-<a name="l00047"></a>00047 data_t *r = <span class="keyword">new</span>(storage) data_t;
-<a name="l00048"></a>00048 <span class="preprocessor"> #else</span>
-<a name="l00049"></a>00049 <span class="preprocessor"></span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *storage(<span class="keyword">new</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>[count]);
-<a name="l00050"></a>00050 data_t *r = <span class="keyword">new</span>(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span>*<span class="keyword">&gt;</span>(storage)) data_t;
-<a name="l00051"></a>00051 <span class="preprocessor"> #endif</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span> r-&gt;copies=0;
-<a name="l00053"></a>00053 r-&gt;length=(std::min)(initial_length, max_digits);
-<a name="l00054"></a>00054 r-&gt;max_length=max_digits;
-<a name="l00055"></a>00055 r-&gt;fixed_mask=mask;
-<a name="l00056"></a>00056 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(r-&gt;magnitude, r-&gt;length);
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> r;
-<a name="l00058"></a>00058 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00059"></a>00059 <span class="keywordflow">throw</span> exceptions::overflow_error(<span class="stringliteral">&quot;Out of memory allocating integer&quot;</span>);
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 data_t *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, <span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length) {
-<a name="l00064"></a>00064 assert(mask != 0);
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(max_digits, initial_length, mask);
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 data_t *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">allocate_fixed_zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, <span class="keywordtype">size_t</span> max_digits) {
-<a name="l00069"></a>00069 data_t *r=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(max_digits, 1, mask);
-<a name="l00070"></a>00070 r-&gt;copies = 1;
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> r;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 data_t *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">reallocate</a>(data_t *olddata, <span class="keywordtype">size_t</span> newsize) {
-<a name="l00075"></a>00075 <span class="keywordflow">if</span> (olddata==0) {
-<a name="l00076"></a>00076 data_t *newdata=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(newsize);
-<a name="l00077"></a>00077 newdata-&gt;copies=1;
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> newdata;
-<a name="l00079"></a>00079 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (olddata-&gt;fixed_mask != 0) {
-<a name="l00080"></a>00080 <span class="comment">// It&#39;s a fixed-size item, have to re-use it.</span>
-<a name="l00081"></a>00081 newsize = (std::min)(newsize, olddata-&gt;max_length);
-<a name="l00082"></a>00082 <span class="keywordflow">if</span> (olddata-&gt;length &lt; newsize) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(olddata-&gt;magnitude +
-<a name="l00083"></a>00083 olddata-&gt;length, olddata-&gt;magnitude + newsize);
-<a name="l00084"></a>00084 olddata-&gt;length = newsize;
-<a name="l00085"></a>00085 <span class="keywordflow">return</span> olddata;
-<a name="l00086"></a>00086 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (olddata-&gt;copies == 1 &amp;&amp; newsize &lt;= olddata-&gt;max_length) {
-<a name="l00087"></a>00087 <span class="comment">// We can re-use this data.</span>
-<a name="l00088"></a>00088 <span class="keywordflow">if</span> (olddata-&gt;length &lt; newsize) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(olddata-&gt;magnitude +
-<a name="l00089"></a>00089 olddata-&gt;length, olddata-&gt;magnitude + newsize);
-<a name="l00090"></a>00090 olddata-&gt;length = newsize;
-<a name="l00091"></a>00091 <span class="keywordflow">return</span> olddata;
-<a name="l00092"></a>00092 } <span class="keywordflow">else</span> {
-<a name="l00093"></a>00093 <span class="comment">// Have to allocate new data.</span>
-<a name="l00094"></a>00094 data_t *newdata=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(newsize, 0);
-<a name="l00095"></a>00095 newdata-&gt;copies = 1;
-<a name="l00096"></a>00096 newdata-&gt;length = newsize;
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = olddata-&gt;magnitude, *se = s + olddata-&gt;length,
-<a name="l00099"></a>00099 *t = newdata-&gt;magnitude, *te = t + newdata-&gt;length;
-<a name="l00100"></a>00100 <span class="keywordflow">while</span> (s!=se) *t++ = *s++;
-<a name="l00101"></a>00101 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(t, te);
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keywordflow">if</span> (--olddata-&gt;copies == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(olddata);
-<a name="l00104"></a>00104 <span class="keywordflow">return</span> newdata;
-<a name="l00105"></a>00105 }
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(data_t *data) {
-<a name="l00109"></a>00109 data-&gt;~data_t();
-<a name="l00110"></a>00110 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *digits=<span class="keyword">reinterpret_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>*<span class="keyword">&gt;</span>(data);
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00113"></a>00113 <span class="preprocessor"></span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(digits, data-&gt;max_length + datasize - digits_in_struct);
-<a name="l00114"></a>00114 <span class="preprocessor"> #endif</span>
-<a name="l00115"></a>00115 <span class="preprocessor"></span>
-<a name="l00116"></a>00116 <span class="preprocessor"> #ifdef VALGRIND_COMPATIBLE</span>
-<a name="l00117"></a>00117 <span class="preprocessor"></span> free(digits);
-<a name="l00118"></a>00118 <span class="preprocessor"> #else</span>
-<a name="l00119"></a>00119 <span class="preprocessor"></span> <span class="keyword">delete</span>[] digits;
-<a name="l00120"></a>00120 <span class="preprocessor"> #endif</span>
-<a name="l00121"></a>00121 <span class="preprocessor"></span>}
-<a name="l00122"></a>00122
-<a name="l00124"></a>00124 <span class="comment">// bitqueue_t functions</span>
-<a name="l00125"></a>00125
-<a name="l00126"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">00126</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">bitqueue_t::push</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> bits, <span class="keywordtype">size_t</span> count) {
-<a name="l00127"></a>00127 <span class="keywordflow">if</span> (count &lt; ddbits) {
-<a name="l00128"></a>00128 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> mask = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; count) - 1;
-<a name="l00129"></a>00129 bits &amp;= mask;
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <span class="keywordflow">if</span> (pending.empty()) {
-<a name="l00133"></a>00133 pending.push(std::make_pair(bits, count));
-<a name="l00134"></a>00134 } <span class="keywordflow">else</span> {
-<a name="l00135"></a>00135 indata_t &amp;n(pending.back());
-<a name="l00136"></a>00136 <span class="keywordflow">if</span> (n.second + count &lt;= ddbits) {
-<a name="l00137"></a>00137 n.first |= bits &lt;&lt; n.second;
-<a name="l00138"></a>00138 n.second += count;
-<a name="l00139"></a>00139 } <span class="keywordflow">else</span> {
-<a name="l00140"></a>00140 pending.push(std::make_pair(bits, count));
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143 bits_pending += count;
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">00146</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">bitqueue_t::pop</a>(<span class="keywordtype">size_t</span> requestedbits) {
-<a name="l00147"></a>00147 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> buffer = 0;
-<a name="l00148"></a>00148 <span class="keywordtype">size_t</span> bits_in_buffer = 0;
-<a name="l00149"></a>00149 <span class="keywordflow">while</span> (bits_in_buffer &lt; requestedbits &amp;&amp; !pending.empty()) {
-<a name="l00150"></a>00150 indata_t &amp;n(pending.front());
-<a name="l00151"></a>00151 <span class="keywordtype">size_t</span> maxbits = requestedbits - bits_in_buffer, actualbits =
-<a name="l00152"></a>00152 (std::min)(n.second, maxbits);
-<a name="l00153"></a>00153 buffer |= (n.first &lt;&lt; bits_in_buffer);
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 n.first &gt;&gt;= actualbits;
-<a name="l00156"></a>00156 n.second -= actualbits;
-<a name="l00157"></a>00157 bits_in_buffer += actualbits;
-<a name="l00158"></a>00158 bits_pending -= actualbits;
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keywordflow">if</span> (n.second == 0) pending.pop();
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162 <span class="keywordflow">return</span> (buffer &amp; ((<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; requestedbits) - 1));
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 } <span class="comment">// namespace detail</span>
-<a name="l00166"></a>00166 } <span class="comment">// namespace xint</span>
-<a name="l00167"></a>00167 } <span class="comment">// namespace boost</span>
+<a name="l00026"></a>00026
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>detail {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> datasize = (<span class="keyword">sizeof</span>(data_t)+<span class="keyword">sizeof</span>(digit_t)-1) /
+<a name="l00031"></a>00031 <span class="keyword">sizeof</span>(digit_t);
+<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> minimum_digits = 1, digits_in_struct = 1;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keywordtype">void</span> zero(digit_t *p, digit_t *end) {
+<a name="l00035"></a>00035 <span class="keywordflow">while</span> (p &lt; end) *p++ = 0;
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keywordtype">void</span> zero(digit_t *p, <span class="keywordtype">size_t</span> size) {
+<a name="l00039"></a>00039 zero(p, p + size);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 data_t *allocate(<span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length, digit_t mask) {
+<a name="l00043"></a>00043 max_digits = (std::max)(max_digits, minimum_digits);
+<a name="l00044"></a>00044 <span class="keywordtype">size_t</span> count = max_digits - digits_in_struct + datasize;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordflow">try</span> {
+<a name="l00047"></a>00047 <span class="preprocessor"> #ifdef VALGRIND_COMPATIBLE</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span> <span class="keywordtype">void</span> *storage = malloc(count * <span class="keyword">sizeof</span>(digit_t));
+<a name="l00049"></a>00049 data_t *r = <span class="keyword">new</span>(storage) data_t;
+<a name="l00050"></a>00050 <span class="preprocessor"> #else</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span> digit_t *storage(<span class="keyword">new</span> digit_t[count]);
+<a name="l00052"></a>00052 data_t *r = <span class="keyword">new</span>(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span>*<span class="keyword">&gt;</span>(storage)) data_t;
+<a name="l00053"></a>00053 <span class="preprocessor"> #endif</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span> r-&gt;copies=0;
+<a name="l00055"></a>00055 r-&gt;length=(std::min)(initial_length, max_digits);
+<a name="l00056"></a>00056 r-&gt;max_length=max_digits;
+<a name="l00057"></a>00057 r-&gt;fixed_mask=mask;
+<a name="l00058"></a>00058 zero(r-&gt;magnitude, r-&gt;length);
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> r;
+<a name="l00060"></a>00060 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
+<a name="l00061"></a>00061 <span class="keywordflow">throw</span> exceptions::overflow_error(<span class="stringliteral">&quot;Out of memory allocating integer&quot;</span>);
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 data_t *allocate_fixed(digit_t mask, <span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length) {
+<a name="l00066"></a>00066 assert(mask != 0);
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> allocate(max_digits, initial_length, mask);
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 data_t *allocate_fixed_zero(digit_t mask, <span class="keywordtype">size_t</span> max_digits) {
+<a name="l00071"></a>00071 data_t *r=allocate(max_digits, 1, mask);
+<a name="l00072"></a>00072 r-&gt;copies = 1;
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> r;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 data_t *reallocate(data_t *olddata, <span class="keywordtype">size_t</span> newsize) {
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (olddata==0) {
+<a name="l00078"></a>00078 data_t *newdata=allocate(newsize);
+<a name="l00079"></a>00079 newdata-&gt;copies=1;
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> newdata;
+<a name="l00081"></a>00081 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (olddata-&gt;fixed_mask != 0) {
+<a name="l00082"></a>00082 <span class="comment">// It&#39;s a fixed-size item, have to re-use it.</span>
+<a name="l00083"></a>00083 newsize = (std::min)(newsize, olddata-&gt;max_length);
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (olddata-&gt;length &lt; newsize) zero(olddata-&gt;magnitude +
+<a name="l00085"></a>00085 olddata-&gt;length, olddata-&gt;magnitude + newsize);
+<a name="l00086"></a>00086 olddata-&gt;length = newsize;
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> olddata;
+<a name="l00088"></a>00088 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (olddata-&gt;copies == 1 &amp;&amp; newsize &lt;= olddata-&gt;max_length) {
+<a name="l00089"></a>00089 <span class="comment">// We can re-use this data.</span>
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (olddata-&gt;length &lt; newsize) zero(olddata-&gt;magnitude +
+<a name="l00091"></a>00091 olddata-&gt;length, olddata-&gt;magnitude + newsize);
+<a name="l00092"></a>00092 olddata-&gt;length = newsize;
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> olddata;
+<a name="l00094"></a>00094 } <span class="keywordflow">else</span> {
+<a name="l00095"></a>00095 <span class="comment">// Have to allocate new data.</span>
+<a name="l00096"></a>00096 data_t *newdata=allocate(newsize, 0);
+<a name="l00097"></a>00097 newdata-&gt;copies = 1;
+<a name="l00098"></a>00098 newdata-&gt;length = newsize;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 digit_t *s = olddata-&gt;magnitude, *se = s + olddata-&gt;length,
+<a name="l00101"></a>00101 *t = newdata-&gt;magnitude, *te = t + newdata-&gt;length;
+<a name="l00102"></a>00102 <span class="keywordflow">while</span> (s!=se) *t++ = *s++;
+<a name="l00103"></a>00103 zero(t, te);
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordflow">if</span> (--olddata-&gt;copies == 0) deallocate(olddata);
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> newdata;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keywordtype">void</span> deallocate(data_t *data) {
+<a name="l00111"></a>00111 data-&gt;~data_t();
+<a name="l00112"></a>00112 digit_t *digits=<span class="keyword">reinterpret_cast&lt;</span>digit_t*<span class="keyword">&gt;</span>(data);
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="preprocessor"> #ifdef XINT_SECURE</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span> zero(digits, data-&gt;max_length + datasize - digits_in_struct);
+<a name="l00116"></a>00116 <span class="preprocessor"> #endif</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span>
+<a name="l00118"></a>00118 <span class="preprocessor"> #ifdef VALGRIND_COMPATIBLE</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span> free(digits);
+<a name="l00120"></a>00120 <span class="preprocessor"> #else</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span> <span class="keyword">delete</span>[] digits;
+<a name="l00122"></a>00122 <span class="preprocessor"> #endif</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>}
+<a name="l00124"></a>00124
+<a name="l00126"></a>00126 <span class="comment">// bitqueue_t functions</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keywordtype">void</span> bitqueue_t::push(doubledigit_t bits, <span class="keywordtype">size_t</span> count) {
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (count &lt; ddbits) {
+<a name="l00130"></a>00130 doubledigit_t mask = (doubledigit_t(1) &lt;&lt; count) - 1;
+<a name="l00131"></a>00131 bits &amp;= mask;
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keywordflow">if</span> (pending.empty()) {
+<a name="l00135"></a>00135 pending.push(std::make_pair(bits, count));
+<a name="l00136"></a>00136 } <span class="keywordflow">else</span> {
+<a name="l00137"></a>00137 indata_t &amp;n(pending.back());
+<a name="l00138"></a>00138 <span class="keywordflow">if</span> (n.second + count &lt;= ddbits) {
+<a name="l00139"></a>00139 n.first |= bits &lt;&lt; n.second;
+<a name="l00140"></a>00140 n.second += count;
+<a name="l00141"></a>00141 } <span class="keywordflow">else</span> {
+<a name="l00142"></a>00142 pending.push(std::make_pair(bits, count));
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 bits_pending += count;
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 doubledigit_t bitqueue_t::pop(<span class="keywordtype">size_t</span> requestedbits) {
+<a name="l00149"></a>00149 doubledigit_t buffer = 0;
+<a name="l00150"></a>00150 <span class="keywordtype">size_t</span> bits_in_buffer = 0;
+<a name="l00151"></a>00151 <span class="keywordflow">while</span> (bits_in_buffer &lt; requestedbits &amp;&amp; !pending.empty()) {
+<a name="l00152"></a>00152 indata_t &amp;n(pending.front());
+<a name="l00153"></a>00153 <span class="keywordtype">size_t</span> maxbits = requestedbits - bits_in_buffer, actualbits =
+<a name="l00154"></a>00154 (std::min)(n.second, maxbits);
+<a name="l00155"></a>00155 buffer |= (n.first &lt;&lt; bits_in_buffer);
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 n.first &gt;&gt;= actualbits;
+<a name="l00158"></a>00158 n.second -= actualbits;
+<a name="l00159"></a>00159 bits_in_buffer += actualbits;
+<a name="l00160"></a>00160 bits_pending -= actualbits;
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keywordflow">if</span> (n.second == 0) pending.pop();
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 <span class="keywordflow">return</span> (buffer &amp; ((doubledigit_t(1) &lt;&lt; requestedbits) - 1));
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 } <span class="comment">// namespace detail</span>
+<a name="l00169"></a>00169 <span class="comment"></span>
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dependencies.html
==============================================================================
--- sandbox/xint/doc/dependencies.html (original)
+++ sandbox/xint/doc/dependencies.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -39,7 +39,7 @@
 </ul>
 <p>With the exception of Boost.Thread, all of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dependencies_8dox.html
==============================================================================
--- sandbox/xint/doc/dependencies_8dox.html (original)
+++ sandbox/xint/doc/dependencies_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dox/acknowledgements.dox
==============================================================================
--- sandbox/xint/doc/dox/acknowledgements.dox (original)
+++ sandbox/xint/doc/dox/acknowledgements.dox 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -35,13 +35,15 @@
 And the other Boost development list members who joined the discussion:
 
 - Anders Dalvander
-- Vincente Botet Escriba
+- Vincente Juan Botet Escribá
 - Arash Partow
 - Robert Stewart
 - Frank Mori Hess
 - Christopher Jefferson
 - Daniel (Herring?)
 - "OvermindDL1"
+- Marius Stoica
+- Kim Barrett
 
 If I've forgotten anyone, please let me know and I'll correct the oversight.
 */

Modified: sandbox/xint/doc/dox/complexity.dox
==============================================================================
--- sandbox/xint/doc/dox/complexity.dox (original)
+++ sandbox/xint/doc/dox/complexity.dox 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -1,7 +1,11 @@
 /*! \page complexity A Note on Algorithmic Complexity
 
 This documentation includes a time-complexity estimate, in big-O notation, for
-each algorithm. 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.
+each algorithm. The \c n in the complexity estimates is roughly the number of
+bits in the parameter(s). (More accurately, it's the number of \c digit_t values
+needed to hold those bits.)
+
+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.
 */

Modified: sandbox/xint/doc/ex__fibonacci.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci.html (original)
+++ sandbox/xint/doc/ex__fibonacci.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions.html
==============================================================================
--- sandbox/xint/doc/exceptions.html (original)
+++ sandbox/xint/doc/exceptions.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -62,7 +62,7 @@
     }
 }
 </pre></div> </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8dox.html
==============================================================================
--- sandbox/xint/doc/exceptions_8dox.html (original)
+++ sandbox/xint/doc/exceptions_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8hpp.html
==============================================================================
--- sandbox/xint/doc/exceptions_8hpp.html (original)
+++ sandbox/xint/doc/exceptions_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/files.html
==============================================================================
--- sandbox/xint/doc/files.html (original)
+++ sandbox/xint/doc/files.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -65,7 +65,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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -270,7 +270,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -51,7 +51,7 @@
 <a name="l00054"></a>00054 <span class="keyword">public</span>:
 <a name="l00057"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">00057</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>();
 <a name="l00058"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">00058</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</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&lt;Bits&gt;</a>&amp; b);
-<a name="l00059"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#acb3c1e3c5bf0395beed0ba9d58a39600">00059</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; b);
+<a name="l00059"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#acb3c1e3c5bf0395beed0ba9d58a39600">00059</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> base_integer&amp; b);
 <a name="l00060"></a>00060 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
 <a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> T&amp; n,
 <a name="l00062"></a>00062 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
@@ -66,10 +66,10 @@
 <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&lt;Bits&gt;</a>&amp; <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&lt;Bits&gt;</a>&amp; c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
+<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&lt;Bits&gt;</a>&amp; <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&lt;Bits&gt;</a>&amp; c) { _attach(c);
 <a name="l00083"></a>00083 <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> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<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&lt;Bits&gt; <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>); }
 <a name="l00087"></a>00087 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00088"></a>00088 <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
@@ -98,19 +98,19 @@
 <a name="l00112"></a>00112
 <a name="l00113"></a>00113 <span class="keyword">private</span>:
 <a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> _c_digits;
-<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> _c_mask;
+<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">const</span> detail::digit_t _c_mask;
 <a name="l00116"></a>00116 <span class="keyword">static</span> boost::shared_ptr&lt;detail::data_t&gt; preallocated_zero;
 <a name="l00117"></a>00117 };
 <a name="l00118"></a>00118
 <a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">const</span> <span class="keywordtype">size_t</span> fixed_integer&lt;Bits&gt;::_c_digits =
-<a name="l00120"></a>00120 (Bits + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a> - 1) / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>;
-<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> fixed_integer&lt;Bits&gt;::_c_mask =
-<a name="l00122"></a>00122 ((Bits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>) == 0) ? <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>
-<a name="l00123"></a>00123 : ((<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>(1) &lt;&lt; (Bits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>)) - 1);
+<a name="l00120"></a>00120 (Bits + detail::bits_per_digit - 1) / detail::bits_per_digit;
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">const</span> detail::digit_t fixed_integer&lt;Bits&gt;::_c_mask =
+<a name="l00122"></a>00122 ((Bits % detail::bits_per_digit) == 0) ? detail::digit_mask
+<a name="l00123"></a>00123 : ((detail::digit_t(1) &lt;&lt; (Bits % detail::bits_per_digit)) - 1);
 <a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; boost::shared_ptr&lt;detail::data_t&gt;
-<a name="l00125"></a>00125 fixed_integer&lt;Bits&gt;::preallocated_zero(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">detail::allocate_fixed_zero</a>(
+<a name="l00125"></a>00125 fixed_integer&lt;Bits&gt;::preallocated_zero(detail::allocate_fixed_zero(
 <a name="l00126"></a>00126 fixed_integer&lt;Bits&gt;::_c_mask, fixed_integer&lt;Bits&gt;::_c_digits),
-<a name="l00127"></a>00127 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">detail::deallocate</a>);
+<a name="l00127"></a>00127 detail::deallocate);
 <a name="l00128"></a>00128
 <a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
 <a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
@@ -228,7 +228,7 @@
 <a name="l00270"></a>00270 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
 <a name="l00271"></a>00271 <span class="preprocessor">}</span>
 <a name="l00272"></a>00272 <span class="preprocessor"></span>
-<a name="l00273"></a>00273 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(<span class="keyword">operator</span>+, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>)
+<a name="l00273"></a>00273 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(<span class="keyword">operator</span>+, <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>)
 <a name="l00274"></a>00274 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator-, detail::<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>)
 <a name="l00275"></a>00275 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator*, detail::<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>)
 <a name="l00276"></a>00276 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator/, detail::<a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>)
@@ -276,7 +276,7 @@
 <a name="l00345"></a>00345 fixed_integer&lt;Bits&gt;::fixed_integer(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base):
 <a name="l00346"></a>00346 fixed_integer_any(_c_digits, _c_mask)
 <a name="l00347"></a>00347 {
-<a name="l00348"></a>00348 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
+<a name="l00348"></a>00348 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
 <a name="l00349"></a>00349 }
 <a name="l00350"></a>00350
 <a name="l00366"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aa302b0b3adb58cf7d79009058322f528">00366</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
@@ -286,7 +286,7 @@
 <a name="l00370"></a>00370 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*):
 <a name="l00371"></a>00371 <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_digits, _c_mask)
 <a name="l00372"></a>00372 {
-<a name="l00373"></a>00373 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
+<a name="l00373"></a>00373 _set_signed(n);
 <a name="l00374"></a>00374 }
 <a name="l00375"></a>00375
 <a name="l00391"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a18c23eb0b0d3491cc3fcfdb0b7805a46">00391</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
@@ -296,28 +296,28 @@
 <a name="l00395"></a>00395 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*):
 <a name="l00396"></a>00396 <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_digits, _c_mask)
 <a name="l00397"></a>00397 {
-<a name="l00398"></a>00398 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
+<a name="l00398"></a>00398 _set_unsigned(n);
 <a name="l00399"></a>00399 }
 <a name="l00400"></a>00400
 <a name="l00402"></a>00402 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00403"></a>00403 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">fixed_integer&lt;Bits&gt;::odd</a>()<span class="keyword"> const </span>{
-<a name="l00404"></a>00404 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01) != 0;
+<a name="l00404"></a>00404 <span class="keywordflow">return</span> (_get_digit(0) &amp; 0x01) != 0;
 <a name="l00405"></a>00405 }
 <a name="l00406"></a>00406
 <a name="l00408"></a>00408 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00409"></a>00409 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">fixed_integer&lt;Bits&gt;::even</a>()<span class="keyword"> const </span>{
-<a name="l00410"></a>00410 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01) == 0;
+<a name="l00410"></a>00410 <span class="keywordflow">return</span> (_get_digit(0) &amp; 0x01) == 0;
 <a name="l00411"></a>00411 }
 <a name="l00412"></a>00412
 <a name="l00414"></a>00414 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00415"></a>00415 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">fixed_integer&lt;Bits&gt;::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
-<a name="l00416"></a>00416 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) <span class="keywordflow">return</span> 0;
-<a name="l00417"></a>00417 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
+<a name="l00416"></a>00416 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; _is_zero()) <span class="keywordflow">return</span> 0;
+<a name="l00417"></a>00417 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (_get_negative() ? -1 : 1);
 <a name="l00418"></a>00418 }
 <a name="l00419"></a>00419
 <a name="l00421"></a>00421 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00422"></a>00422 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">fixed_integer&lt;Bits&gt;::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00423"></a>00423 <span class="keywordtype">size_t</span> bits=<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>();
+<a name="l00423"></a>00423 <span class="keywordtype">size_t</span> bits=_log2();
 <a name="l00424"></a>00424 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
 <a name="l00425"></a>00425 }
 <a name="l00426"></a>00426
@@ -325,10 +325,10 @@
 <a name="l00433"></a>00433 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82" title="The Bitwise Ones&amp;#39; Complement (i.e. bitwise NOT) operator.">fixed_integer&lt;Bits&gt;::operator~</a>()<span class="keyword"> const </span>{
 <a name="l00434"></a>00434 fixed_integer&lt;Bits&gt; r(*<span class="keyword">this</span>);
 <a name="l00435"></a>00435 r._make_unique();
-<a name="l00436"></a>00436 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *p = r._get_writable_digits(), *pe1 = p + r._get_length(),
+<a name="l00436"></a>00436 detail::digit_t *p = r._get_writable_digits(), *pe1 = p + r._get_length(),
 <a name="l00437"></a>00437 *pe2 = p + _c_digits;
 <a name="l00438"></a>00438 <span class="keywordflow">while</span> (p != pe1) { *p = ~(*p); ++p; }
-<a name="l00439"></a>00439 <span class="keywordflow">while</span> (p != pe2) *p++ = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>;
+<a name="l00439"></a>00439 <span class="keywordflow">while</span> (p != pe2) *p++ = detail::digit_mask;
 <a name="l00440"></a>00440 r._set_length(_c_digits);
 <a name="l00441"></a>00441 r._cleanup();
 <a name="l00442"></a>00442 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
@@ -341,7 +341,7 @@
 <a name="l00449"></a>00449 <span class="preprocessor"> return *this; \</span>
 <a name="l00450"></a>00450 <span class="preprocessor">}</span>
 <a name="l00451"></a>00451 <span class="preprocessor"></span>
-<a name="l00452"></a>00452 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(<span class="keyword">operator</span>+=, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>)
+<a name="l00452"></a>00452 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(<span class="keyword">operator</span>+=, <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>)
 <a name="l00453"></a>00453 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator-=, detail::<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>)
 <a name="l00454"></a>00454 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator*=, detail::<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>)
 <a name="l00455"></a>00455 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator/=, detail::<a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>)
@@ -349,7 +349,7 @@
 <a name="l00457"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">00457</a>
 <a name="l00458"></a>00458 template &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00459"></a>00459 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>&lt;Bits&gt;::operator&lt;&lt;=(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00460"></a>00460 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00460"></a>00460 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
 <a name="l00461"></a>00461 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00462"></a>00462 }
 <a name="l00463"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">00463</a>
@@ -375,27 +375,27 @@
 <a name="l00483"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">00483</a>
 <a name="l00484"></a>00484 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00485"></a>00485 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">fixed_integer&lt;Bits&gt;::operator++</a>() {
-<a name="l00486"></a>00486 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>();
+<a name="l00486"></a>00486 _increment();
 <a name="l00487"></a>00487 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00488"></a>00488 }
 <a name="l00489"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">00489</a>
 <a name="l00490"></a>00490 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00491"></a>00491 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">fixed_integer&lt;Bits&gt;::operator--</a>() {
-<a name="l00492"></a>00492 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>();
+<a name="l00492"></a>00492 _decrement();
 <a name="l00493"></a>00493 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00494"></a>00494 }
 <a name="l00495"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a781e7f1612a68f1c35c2bc8d17d33b0c">00495</a>
 <a name="l00496"></a>00496 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00497"></a>00497 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">fixed_integer&lt;Bits&gt;::operator++</a>(<span class="keywordtype">int</span>) {
 <a name="l00498"></a>00498 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> old(*<span class="keyword">this</span>);
-<a name="l00499"></a>00499 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>();
+<a name="l00499"></a>00499 _increment();
 <a name="l00500"></a>00500 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(old);
 <a name="l00501"></a>00501 }
 <a name="l00502"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a92b08d730aa7913ccc2b9860cda5cb1b">00502</a>
 <a name="l00503"></a>00503 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00504"></a>00504 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">fixed_integer&lt;Bits&gt;::operator--</a>(<span class="keywordtype">int</span>) {
 <a name="l00505"></a>00505 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> old(*<span class="keyword">this</span>);
-<a name="l00506"></a>00506 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>();
+<a name="l00506"></a>00506 _decrement();
 <a name="l00507"></a>00507 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(old);
 <a name="l00508"></a>00508 }
 <a name="l00509"></a>00509
@@ -403,7 +403,7 @@
 <a name="l00512"></a>00512
 <a name="l00514"></a>00514 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00515"></a>00515 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</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&lt;Bits&gt;</a>&amp; n) {
-<a name="l00516"></a>00516 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) {
+<a name="l00516"></a>00516 <span class="keywordflow">if</span> (n._get_negative()) {
 <a name="l00517"></a>00517 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r(n);
 <a name="l00518"></a>00518 r._set_negative(<span class="keyword">false</span>);
 <a name="l00519"></a>00519 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
@@ -422,7 +422,7 @@
 <a name="l00534"></a>00534 fixed_integer&lt;Bits&gt;&amp; n2)
 <a name="l00535"></a>00535 {
 <a name="l00536"></a>00536 fixed_integer&lt;Bits&gt; r;
-<a name="l00537"></a>00537 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>(r, n1, n2);
+<a name="l00537"></a>00537 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(r, n1, n2);
 <a name="l00538"></a>00538 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00539"></a>00539 }
 <a name="l00540"></a>00540
@@ -431,7 +431,7 @@
 <a name="l00544"></a>00544 fixed_integer&lt;Bits&gt;&amp; n2)
 <a name="l00545"></a>00545 {
 <a name="l00546"></a>00546 fixed_integer&lt;Bits&gt; r;
-<a name="l00547"></a>00547 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">detail::subtract</a>(r, n1, n2);
+<a name="l00547"></a>00547 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(r, n1, n2);
 <a name="l00548"></a>00548 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00549"></a>00549 }
 <a name="l00550"></a>00550
@@ -440,7 +440,7 @@
 <a name="l00554"></a>00554 fixed_integer&lt;Bits&gt;&amp; by)
 <a name="l00555"></a>00555 {
 <a name="l00556"></a>00556 fixed_integer&lt;Bits&gt; r;
-<a name="l00557"></a>00557 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">detail::multiply</a>(r, n, by);
+<a name="l00557"></a>00557 <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(r, n, by);
 <a name="l00558"></a>00558 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00559"></a>00559 }
 <a name="l00560"></a>00560
@@ -449,7 +449,7 @@
 <a name="l00564"></a>00564 <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor)
 <a name="l00565"></a>00565 {
 <a name="l00566"></a>00566 fixed_integer&lt;Bits&gt; q, r;
-<a name="l00567"></a>00567 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, dividend, divisor);
+<a name="l00567"></a>00567 <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, dividend, divisor);
 <a name="l00568"></a>00568 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q);
 <a name="l00569"></a>00569 }
 <a name="l00570"></a>00570
@@ -458,7 +458,7 @@
 <a name="l00574"></a>00574 dividend, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor)
 <a name="l00575"></a>00575 {
 <a name="l00576"></a>00576 fixed_integer&lt;Bits&gt; q, r;
-<a name="l00577"></a>00577 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, dividend, divisor);
+<a name="l00577"></a>00577 <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, dividend, divisor);
 <a name="l00578"></a>00578 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(fixed_integer&lt;Bits&gt;::divide_t,
 <a name="l00579"></a>00579 fixed_integer&lt;Bits&gt;::divide_t(<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="l00580"></a>00580 }
@@ -466,7 +466,7 @@
 <a name="l00583"></a>00583 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00584"></a>00584 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
 <a name="l00585"></a>00585 fixed_integer&lt;Bits&gt; r;
-<a name="l00586"></a>00586 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">detail::sqr</a>(r, n);
+<a name="l00586"></a>00586 <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">detail::sqr</a>(r, n);
 <a name="l00587"></a>00587 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00588"></a>00588 }
 <a name="l00589"></a>00589
@@ -475,7 +475,7 @@
 <a name="l00593"></a>00593 fixed_integer_any&amp; e)
 <a name="l00594"></a>00594 {
 <a name="l00595"></a>00595 fixed_integer&lt;Bits&gt; r;
-<a name="l00596"></a>00596 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">detail::pow</a>(r, n, e);
+<a name="l00596"></a>00596 <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">detail::pow</a>(r, n, e);
 <a name="l00597"></a>00597 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00598"></a>00598 }
 <a name="l00599"></a>00599
@@ -489,14 +489,14 @@
 <a name="l00609"></a>00609 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00610"></a>00610 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">fixed_factorial</a>(<span class="keywordtype">size_t</span> n) {
 <a name="l00611"></a>00611 fixed_integer&lt;Bits&gt; r;
-<a name="l00612"></a>00612 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">detail::factorial</a>(r, n);
+<a name="l00612"></a>00612 <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">detail::factorial</a>(r, n);
 <a name="l00613"></a>00613 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00614"></a>00614 }
 <a name="l00615"></a>00615
 <a name="l00617"></a>00617 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00618"></a>00618 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
 <a name="l00619"></a>00619 fixed_integer&lt;Bits&gt; r;
-<a name="l00620"></a>00620 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">detail::sqrt</a>(r, n);
+<a name="l00620"></a>00620 <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">detail::sqrt</a>(r, n);
 <a name="l00621"></a>00621 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00622"></a>00622 }
 <a name="l00623"></a>00623
@@ -508,47 +508,47 @@
 <a name="l00631"></a>00631 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00632"></a>00632 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">fixed_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
 <a name="l00633"></a>00633 fixed_integer&lt;Bits&gt; r;
-<a name="l00634"></a>00634 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(r, str, base);
+<a name="l00634"></a>00634 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(r, str, base);
 <a name="l00635"></a>00635 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00636"></a>00636 }
 <a name="l00637"></a>00637
 <a name="l00639"></a>00639 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00640"></a>00640 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <span class="keywordtype">size_t</span> bits) {
 <a name="l00641"></a>00641 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
-<a name="l00642"></a>00642 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">detail::to_binary</a>(r, n, bits);
+<a name="l00642"></a>00642 <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">detail::to_binary</a>(r, n, bits);
 <a name="l00643"></a>00643 <span class="keywordflow">return</span> r;
 <a name="l00644"></a>00644 }
 <a name="l00645"></a>00645
 <a name="l00647"></a>00647 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00648"></a>00648 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">fixed_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
 <a name="l00649"></a>00649 fixed_integer&lt;Bits&gt; r;
-<a name="l00650"></a>00650 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">detail::from_binary</a>(r, b, bits);
+<a name="l00650"></a>00650 <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">detail::from_binary</a>(r, b, bits);
 <a name="l00651"></a>00651 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00652"></a>00652 }
 <a name="l00653"></a>00653
 <a name="l00655"></a>00655 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00656"></a>00656 <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> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00657"></a>00657 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">detail::getbit</a>(n, bit);
+<a name="l00657"></a>00657 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">detail::getbit</a>(n, bit);
 <a name="l00658"></a>00658 }
 <a name="l00659"></a>00659
 <a name="l00661"></a>00661 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00662"></a>00662 <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>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00663"></a>00663 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">detail::setbit</a>(n, bit);
+<a name="l00663"></a>00663 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">detail::setbit</a>(n, bit);
 <a name="l00664"></a>00664 }
 <a name="l00665"></a>00665
 <a name="l00667"></a>00667 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00668"></a>00668 <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>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00669"></a>00669 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">detail::clearbit</a>(n, bit);
+<a name="l00669"></a>00669 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">detail::clearbit</a>(n, bit);
 <a name="l00670"></a>00670 }
 <a name="l00671"></a>00671
 <a name="l00673"></a>00673 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00674"></a>00674 <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> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00675"></a>00675 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">detail::lowestbit</a>(n, valueIfZero);
+<a name="l00675"></a>00675 <span class="keywordflow">return</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.">detail::lowestbit</a>(n, valueIfZero);
 <a name="l00676"></a>00676 }
 <a name="l00677"></a>00677
 <a name="l00679"></a>00679 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00680"></a>00680 <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> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00681"></a>00681 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">detail::highestbit</a>(n, valueIfZero);
+<a name="l00681"></a>00681 <span class="keywordflow">return</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.">detail::highestbit</a>(n, valueIfZero);
 <a name="l00682"></a>00682 }
 <a name="l00683"></a>00683
 <a name="l00685"></a>00685 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
@@ -556,7 +556,7 @@
 <a name="l00687"></a>00687 fixed_integer&lt;Bits&gt;&amp; n2)
 <a name="l00688"></a>00688 {
 <a name="l00689"></a>00689 fixed_integer&lt;Bits&gt; r;
-<a name="l00690"></a>00690 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">detail::bitwise_and</a>(r, n1, n2);
+<a name="l00690"></a>00690 <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(r, n1, n2);
 <a name="l00691"></a>00691 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00692"></a>00692 }
 <a name="l00693"></a>00693
@@ -565,7 +565,7 @@
 <a name="l00697"></a>00697 fixed_integer&lt;Bits&gt;&amp; n2)
 <a name="l00698"></a>00698 {
 <a name="l00699"></a>00699 fixed_integer&lt;Bits&gt; r;
-<a name="l00700"></a>00700 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">detail::bitwise_or</a>(r, n1, n2);
+<a name="l00700"></a>00700 <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(r, n1, n2);
 <a name="l00701"></a>00701 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00702"></a>00702 }
 <a name="l00703"></a>00703
@@ -574,7 +574,7 @@
 <a name="l00707"></a>00707 fixed_integer&lt;Bits&gt;&amp; n2)
 <a name="l00708"></a>00708 {
 <a name="l00709"></a>00709 fixed_integer&lt;Bits&gt; r;
-<a name="l00710"></a>00710 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">detail::bitwise_xor</a>(r, n1, n2);
+<a name="l00710"></a>00710 <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(r, n1, n2);
 <a name="l00711"></a>00711 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00712"></a>00712 }
 <a name="l00713"></a>00713
@@ -586,14 +586,14 @@
 <a name="l00721"></a>00721 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00722"></a>00722 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00723"></a>00723 fixed_integer&lt;Bits&gt; r;
-<a name="l00724"></a>00724 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(r, n, byBits);
+<a name="l00724"></a>00724 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(r, n, byBits);
 <a name="l00725"></a>00725 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00726"></a>00726 }
 <a name="l00727"></a>00727
 <a name="l00729"></a>00729 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00730"></a>00730 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00731"></a>00731 fixed_integer&lt;Bits&gt; r;
-<a name="l00732"></a>00732 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">detail::shift_right</a>(r, n, byBits);
+<a name="l00732"></a>00732 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(r, n, byBits);
 <a name="l00733"></a>00733 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00734"></a>00734 }
 <a name="l00735"></a><a class="code" href="namespaceboost_1_1xint.html#a30c0cd9ad317c1a373cdc059b6f81cb9">00735</a>
@@ -602,7 +602,7 @@
 <a name="l00738"></a>00738 m)
 <a name="l00739"></a>00739 {
 <a name="l00740"></a>00740 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r;
-<a name="l00741"></a>00741 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
+<a name="l00741"></a>00741 <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(r, n, m);
 <a name="l00742"></a>00742 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00743"></a>00743 }
 <a name="l00744"></a>00744
@@ -625,7 +625,7 @@
 <a name="l00764"></a>00764 fixed_integer&lt;Bits&gt;&amp; e, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; m, <span class="keywordtype">bool</span> noMontgomery)
 <a name="l00765"></a>00765 {
 <a name="l00766"></a>00766 fixed_integer&lt;Bits&gt; r;
-<a name="l00767"></a>00767 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00767"></a>00767 <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">detail::powmod</a>(r, n, e, m, noMontgomery);
 <a name="l00768"></a>00768 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00769"></a>00769 }
 <a name="l00770"></a>00770
@@ -634,7 +634,7 @@
 <a name="l00774"></a>00774 fixed_integer&lt;Bits&gt;&amp; m)
 <a name="l00775"></a>00775 {
 <a name="l00776"></a>00776 fixed_integer&lt;Bits&gt; r;
-<a name="l00777"></a>00777 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">detail::invmod</a>(r, n, m);
+<a name="l00777"></a>00777 <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">detail::invmod</a>(r, n, m);
 <a name="l00778"></a>00778 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00779"></a>00779 }
 <a name="l00780"></a>00780
@@ -658,7 +658,7 @@
 <a name="l00801"></a>00801 fixed_integer&lt;Bits&gt;&amp; num2)
 <a name="l00802"></a>00802 {
 <a name="l00803"></a>00803 fixed_integer&lt;Bits&gt; r;
-<a name="l00804"></a>00804 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">detail::gcd</a>(r, num1, num2);
+<a name="l00804"></a>00804 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">detail::gcd</a>(r, num1, num2);
 <a name="l00805"></a>00805 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00806"></a>00806 }
 <a name="l00807"></a>00807
@@ -667,7 +667,7 @@
 <a name="l00811"></a>00811 fixed_integer&lt;Bits&gt;&amp; num2)
 <a name="l00812"></a>00812 {
 <a name="l00813"></a>00813 fixed_integer&lt;Bits&gt; r;
-<a name="l00814"></a>00814 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">detail::lcm</a>(r, num1, num2);
+<a name="l00814"></a>00814 <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">detail::lcm</a>(r, num1, num2);
 <a name="l00815"></a>00815 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00816"></a>00816 }
 <a name="l00817"></a>00817
@@ -675,14 +675,14 @@
 <a name="l00821"></a>00821 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
 <a name="l00822"></a>00822 traits&gt;&amp; out, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n)
 <a name="l00823"></a>00823 {
-<a name="l00824"></a>00824 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00824"></a>00824 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
 <a name="l00825"></a>00825 }
 <a name="l00826"></a><a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">00826</a>
 <a name="l00827"></a>00827 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00828"></a>00828 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
 <a name="l00829"></a>00829 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n)
 <a name="l00830"></a>00830 {
-<a name="l00831"></a>00831 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00831"></a>00831 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
 <a name="l00832"></a>00832 }
 <a name="l00834"></a>00834
 <a name="l00835"></a>00835 <span class="comment">// No 100% compatible way to declare a specialization of a function template</span>
@@ -690,7 +690,7 @@
 <a name="l00837"></a><a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">00837</a> <span class="comment">// solution.</span>
 <a name="l00838"></a>00838 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00839"></a>00839 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; right) {
-<a name="l00840"></a>00840 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
+<a name="l00840"></a>00840 left._swap(right);
 <a name="l00841"></a>00841 }
 <a name="l00842"></a>00842
 <a name="l00843"></a>00843 } <span class="comment">// namespace xint</span>
@@ -744,13 +744,13 @@
 <a name="l00891"></a>00891
 <a name="l00892"></a>00892 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
 <a name="l00893"></a>00893 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt;::digits10 =
-<a name="l00894"></a>00894 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a>(Bits));
+<a name="l00894"></a>00894 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(Bits));
 <a name="l00895"></a>00895
 <a name="l00896"></a>00896 } <span class="comment">// namespace std</span>
 <a name="l00897"></a>00897
 <a name="l00898"></a>00898 <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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions.html
==============================================================================
--- sandbox/xint/doc/functions.html (original)
+++ sandbox/xint/doc/functions.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -62,106 +58,12 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index__">- _ -</a></h3><ul>
-<li>_add()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">boost::xint::detail::base_integer</a>
-</li>
-<li>_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">boost::xint::detail::base_integer</a>
-</li>
-<li>_attach_0()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">boost::xint::detail::base_variable_length_integer</a>
-</li>
-<li>_base_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">boost::xint::detail::base_integer</a>
-</li>
-<li>_cleanup()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">boost::xint::detail::base_integer</a>
-</li>
-<li>_decrement()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">boost::xint::detail::base_integer</a>
-</li>
-<li>_fixed_bits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">boost::xint::detail::base_integer</a>
-</li>
-<li>_fixed_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_digit()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_max_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_readonly()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">boost::xint::detail::base_integer</a>
-</li>
-<li>_get_writable_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">boost::xint::detail::base_integer</a>
-</li>
-<li>_increment()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">boost::xint::detail::base_integer</a>
-</li>
-<li>_is_fixed()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">boost::xint::detail::base_integer</a>
-</li>
-<li>_is_nan()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">boost::xint::detail::base_integer</a>
-</li>
-<li>_is_unique()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">boost::xint::detail::base_integer</a>
-</li>
-<li>_is_zero()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">boost::xint::detail::base_integer</a>
-</li>
-<li>_log2()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">boost::xint::detail::base_integer</a>
-</li>
 <li>_make_unique()
 : <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_integer</a>
-</li>
-<li>_realloc()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">boost::xint::detail::base_integer</a>
-</li>
-<li>_set_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">boost::xint::detail::base_integer</a>
-</li>
-<li>_set_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">boost::xint::detail::base_integer</a>
-</li>
-<li>_set_readonly()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">boost::xint::detail::base_integer</a>
-</li>
-<li>_set_signed()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">boost::xint::detail::base_integer</a>
-</li>
-<li>_set_unsigned()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">boost::xint::detail::base_integer</a>
-</li>
-<li>_subtract()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">boost::xint::detail::base_integer</a>
-</li>
-<li>_swap()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">boost::xint::detail::base_integer</a>
-</li>
-<li>_to_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">boost::xint::detail::base_integer</a>
-</li>
-<li>_toggle_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">boost::xint::detail::base_integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x62.html
==============================================================================
--- sandbox/xint/doc/functions_0x62.html (original)
+++ sandbox/xint/doc/functions_0x62.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -65,18 +61,9 @@
 <li>base_divide_t()
 : <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">boost::xint::base_divide_t&lt; T &gt;</a>
 </li>
-<li>base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">boost::xint::detail::base_integer</a>
-</li>
-<li>base_variable_length_integer
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">boost::xint::detail::base_integer</a>
-</li>
-<li>bitqueue_t()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">boost::xint::detail::bitqueue_t</a>
-</li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x63.html
==============================================================================
--- sandbox/xint/doc/functions_0x63.html (original)
+++ sandbox/xint/doc/functions_0x63.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -65,12 +61,9 @@
 <li>cannot_represent()
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
 </li>
-<li>copies
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t</a>
-</li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x64.html
==============================================================================
--- sandbox/xint/doc/functions_0x64.html (original)
+++ sandbox/xint/doc/functions_0x64.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li class="current">d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -77,20 +73,17 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
-<li>dist_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
 <li>divide_by_zero()
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
 </li>
 <li>divide_t
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">boost::xint::integer</a>
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x65.html
==============================================================================
--- sandbox/xint/doc/functions_0x65.html (original)
+++ sandbox/xint/doc/functions_0x65.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li class="current">e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -62,25 +58,22 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>empty()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">boost::xint::detail::bitqueue_t</a>
-</li>
 <li>entropy()
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
 </li>
 <li>epsilon()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>even()
 : <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x66.html
==============================================================================
--- sandbox/xint/doc/functions_0x66.html (original)
+++ sandbox/xint/doc/functions_0x66.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li class="current">f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -66,26 +62,11 @@
 : <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
 <li>fixed_integer_any()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">boost::xint::fixed_integer_any</a>
-</li>
-<li>fixed_mask
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t</a>
-</li>
-<li>flag_fixedlength
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer</a>
-</li>
-<li>flag_negative
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer</a>
-</li>
-<li>flag_readonly
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer</a>
-</li>
-<li>flag_t
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">boost::xint::fixed_integer_any</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/functions_0x67.html
==============================================================================
--- sandbox/xint/doc/functions_0x67.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li class="current">g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all class members with links to the classes they belong to:
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gen
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>gen_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>genobj
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/functions_0x68.html
==============================================================================
--- sandbox/xint/doc/functions_0x68.html (original)
+++ sandbox/xint/doc/functions_0x68.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li class="current">h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -73,7 +69,7 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>has_fixed_range
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator</a>
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">boost::xint::strong_random_generator</a>
 </li>
 <li>has_infinity
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -97,7 +93,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x69.html
==============================================================================
--- sandbox/xint/doc/functions_0x69.html (original)
+++ sandbox/xint/doc/functions_0x69.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li class="current">i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -122,7 +118,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/functions_0x6c.html
==============================================================================
--- sandbox/xint/doc/functions_0x6c.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li class="current">l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all class members with links to the classes they belong to:
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/functions_0x6d.html
==============================================================================
--- sandbox/xint/doc/functions_0x6d.html (original)
+++ sandbox/xint/doc/functions_0x6d.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li class="current">m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -62,36 +58,30 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>magnitude
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t</a>
-</li>
 <li>max()
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>max_exponent
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>max_exponent10
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>max_length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t</a>
-</li>
 <li>max_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">boost::xint::strong_random_generator</a>
 </li>
 <li>min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>min_exponent
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -99,16 +89,16 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>min_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>min_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">boost::xint::strong_random_generator</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x6e.html
==============================================================================
--- sandbox/xint/doc/functions_0x6e.html (original)
+++ sandbox/xint/doc/functions_0x6e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li class="current">n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -65,9 +61,6 @@
 <li>nan()
 : <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
 </li>
-<li>neg_t()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">boost::xint::detail::neg_t</a>
-</li>
 <li>no_strong_random()
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
 </li>
@@ -75,11 +68,11 @@
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
 </li>
 <li>nothrow_integer()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">boost::xint::nothrow_integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x6f.html
==============================================================================
--- sandbox/xint/doc/functions_0x6f.html (original)
+++ sandbox/xint/doc/functions_0x6f.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li class="current">o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -87,9 +83,7 @@
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">boost::xint::nothrow_integer</a>
 </li>
 <li>operator()()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">boost::xint::detail::random_generator&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
 </li>
 <li>operator*=()
 : <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">boost::xint::fixed_integer&lt; Bits &gt;</a>
@@ -102,15 +96,14 @@
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">boost::xint::nothrow_integer</a>
 </li>
 <li>operator++()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">boost::xint::fixed_integer&lt; Bits &gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">boost::xint::nothrow_integer</a>
 </li>
 <li>operator+=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
 <li>operator-()
 : <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">boost::xint::fixed_integer&lt; Bits &gt;</a>
@@ -118,59 +111,57 @@
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">boost::xint::nothrow_integer</a>
 </li>
 <li>operator--()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">boost::xint::fixed_integer&lt; Bits &gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
 </li>
 <li>operator-=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">boost::xint::fixed_integer&lt; Bits &gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
 </li>
 <li>operator/=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">boost::xint::nothrow_integer</a>
 </li>
 <li>operator&lt;&lt;()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
 <li>operator&lt;&lt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">boost::xint::nothrow_integer</a>
 </li>
 <li>operator=()
 : <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">boost::xint::nothrow_integer</a>
 , <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">boost::xint::base_divide_t&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">boost::xint::base_divide_t&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">boost::xint::integer</a>
 </li>
 <li>operator&gt;&gt;()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">boost::xint::fixed_integer&lt; Bits &gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
 </li>
 <li>operator&gt;&gt;=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
 , <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
 <li>operator^=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
 , <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
 </li>
 <li>operator|=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">boost::xint::fixed_integer&lt; Bits &gt;</a>
 , <a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
 </li>
 <li>operator~()
 : <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">boost::xint::fixed_integer&lt; Bits &gt;</a>
@@ -180,7 +171,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/functions_0x70.html
==============================================================================
--- sandbox/xint/doc/functions_0x70.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li class="current">p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all class members with links to the classes they belong to:
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pop()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">boost::xint::detail::bitqueue_t</a>
-</li>
-<li>push()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">boost::xint::detail::bitqueue_t</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/functions_0x71.html
==============================================================================
--- sandbox/xint/doc/functions_0x71.html (original)
+++ sandbox/xint/doc/functions_0x71.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li class="current">q</li>
       <li>r</li>
       <li>s</li>
@@ -72,7 +68,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x72.html
==============================================================================
--- sandbox/xint/doc/functions_0x72.html (original)
+++ sandbox/xint/doc/functions_0x72.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li class="current">r</li>
       <li>s</li>
@@ -67,29 +63,25 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
 <li>remainder
 : <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">boost::xint::base_divide_t&lt; T &gt;</a>
 </li>
 <li>result_type
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">boost::xint::strong_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">boost::xint::detail::base_random_generator</a>
 </li>
 <li>round_error()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 <li>round_style
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x73.html
==============================================================================
--- sandbox/xint/doc/functions_0x73.html (original)
+++ sandbox/xint/doc/functions_0x73.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li class="current">s</li>
@@ -68,19 +64,16 @@
 , <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
 </li>
 <li>signaling_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>size()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">boost::xint::detail::bitqueue_t</a>
-</li>
 <li>strong_random_generator()
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x74.html
==============================================================================
--- sandbox/xint/doc/functions_0x74.html (original)
+++ sandbox/xint/doc/functions_0x74.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -62,10 +58,6 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>temp_t
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">boost::xint::detail::base_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">boost::xint::detail::temp_t</a>
-</li>
 <li>tinyness_before
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">std::numeric_limits&lt; boost::xint::integer &gt;</a>
@@ -81,7 +73,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x7a.html
==============================================================================
--- sandbox/xint/doc/functions_0x7a.html (original)
+++ sandbox/xint/doc/functions_0x7a.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -68,7 +64,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x7e.html
==============================================================================
--- sandbox/xint/doc/functions_0x7e.html (original)
+++ sandbox/xint/doc/functions_0x7e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,7 +30,6 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
@@ -41,14 +40,11 @@
       <li>d</li>
       <li>e</li>
       <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>n</li>
       <li>o</li>
- <li>p</li>
       <li>q</li>
       <li>r</li>
       <li>s</li>
@@ -62,18 +58,12 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">boost::xint::detail::base_integer</a>
-</li>
-<li>~base_random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">boost::xint::detail::base_random_generator</a>
-</li>
 <li>~strong_random_generator()
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">boost::xint::strong_random_generator</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_func.html
==============================================================================
--- sandbox/xint/doc/functions_func.html (original)
+++ sandbox/xint/doc/functions_func.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,29 +30,27 @@
       <li class="current">Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
     <ul>
- <li class="current">_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>h</li>
+ <li>i</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
     </ul>
   </div>
 </div>
@@ -60,106 +58,305 @@
 &nbsp;
 
 <h3><a class="anchor" id="index__">- _ -</a></h3><ul>
-<li>_add()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">boost::xint::detail::base_integer</a>
-</li>
-<li>_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">boost::xint::detail::base_integer</a>
+<li>_make_unique()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">boost::xint::nothrow_integer</a>
 </li>
-<li>_attach_0()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">boost::xint::detail::base_variable_length_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>base_divide_t()
+: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">boost::xint::base_divide_t&lt; T &gt;</a>
 </li>
-<li>_base_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cannot_represent()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
 </li>
-<li>_cleanup()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>denorm_min()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>_decrement()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">boost::xint::detail::base_integer</a>
+<li>divide_by_zero()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
 </li>
-<li>_fixed_bits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>entropy()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
+</li>
+<li>epsilon()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>even()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
 </li>
-<li>_fixed_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>fixed_integer()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
-<li>_get_digit()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">boost::xint::detail::base_integer</a>
+<li>fixed_integer_any()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">boost::xint::fixed_integer_any</a>
 </li>
-<li>_get_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>hex_digits()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">boost::xint::integer</a>
 </li>
-<li>_get_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>infinity()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>_get_max_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">boost::xint::detail::base_integer</a>
+<li>integer()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">boost::xint::integer</a>
 </li>
-<li>_get_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">boost::xint::detail::base_integer</a>
+<li>invalid_argument()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">boost::xint::exceptions::invalid_argument</a>
 </li>
-<li>_get_readonly()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">boost::xint::detail::base_integer</a>
+<li>invalid_base()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">boost::xint::exceptions::invalid_base</a>
 </li>
-<li>_get_writable_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">boost::xint::detail::base_integer</a>
+<li>invalid_digit()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">boost::xint::exceptions::invalid_digit</a>
 </li>
-<li>_increment()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">boost::xint::detail::base_integer</a>
+<li>invalid_modulus()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">boost::xint::exceptions::invalid_modulus</a>
 </li>
-<li>_is_fixed()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">boost::xint::detail::base_integer</a>
+<li>is_nan()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">boost::xint::nothrow_integer</a>
 </li>
-<li>_is_nan()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>max()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>min()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>_is_unique()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>nan()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
 </li>
-<li>_is_zero()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">boost::xint::detail::base_integer</a>
+<li>no_strong_random()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
 </li>
-<li>_log2()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">boost::xint::detail::base_integer</a>
+<li>not_a_number()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
 </li>
-<li>_make_unique()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_integer</a>
+<li>nothrow_integer()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">boost::xint::nothrow_integer</a>
 </li>
-<li>_realloc()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>odd()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">boost::xint::nothrow_integer</a>
+</li>
+<li>one()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">boost::xint::nothrow_integer</a>
+</li>
+<li>operator!()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">boost::xint::integer</a>
+</li>
+<li>operator%=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a49bd66c70cb6b121bfaea17627321779">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">boost::xint::nothrow_integer</a>
+</li>
+<li>operator&amp;=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a6b9fd6cf35616b29c03d621a1a2d8c83">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">boost::xint::nothrow_integer</a>
+</li>
+<li>operator()()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
+</li>
+<li>operator*=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">boost::xint::nothrow_integer</a>
+</li>
+<li>operator+()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">boost::xint::nothrow_integer</a>
+</li>
+<li>operator++()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">boost::xint::nothrow_integer</a>
+</li>
+<li>operator+=()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">boost::xint::fixed_integer&lt; Bits &gt;</a>
+</li>
+<li>operator-()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">boost::xint::nothrow_integer</a>
+</li>
+<li>operator--()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
+</li>
+<li>operator-=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
+</li>
+<li>operator/=()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">boost::xint::nothrow_integer</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">boost::xint::nothrow_integer</a>
+</li>
+<li>operator&lt;&lt;=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">boost::xint::nothrow_integer</a>
+</li>
+<li>operator=()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">boost::xint::base_divide_t&lt; T &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">boost::xint::base_divide_t&lt; T &gt;</a>
+</li>
+<li>operator&gt;&gt;()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
+</li>
+<li>operator&gt;&gt;=()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">boost::xint::fixed_integer&lt; Bits &gt;</a>
+</li>
+<li>operator^=()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
+</li>
+<li>operator|=()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
 </li>
-<li>_set_length()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">boost::xint::detail::base_integer</a>
+<li>operator~()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">boost::xint::fixed_integer&lt; Bits &gt;</a>
 </li>
-<li>_set_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">boost::xint::detail::base_integer</a>
+<li>overflow_error()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">boost::xint::exceptions::overflow_error</a>
 </li>
-<li>_set_readonly()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>quiet_NaN()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
-<li>_set_signed()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>round_error()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
-<li>_set_unsigned()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>sign()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
+</li>
+<li>signaling_NaN()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>_subtract()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">boost::xint::detail::base_integer</a>
+<li>strong_random_generator()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
 </li>
-<li>_swap()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>too_big()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">boost::xint::exceptions::too_big</a>
 </li>
-<li>_to_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
+<li>zero()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">boost::xint::nothrow_integer</a>
 </li>
-<li>_toggle_negative()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">boost::xint::detail::base_integer</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~strong_random_generator()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">boost::xint::strong_random_generator</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/functions_func_0x62.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x62.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li class="current">b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>base_divide_t()
-: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">boost::xint::base_divide_t&lt; T &gt;</a>
-</li>
-<li>base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">boost::xint::detail::base_integer</a>
-</li>
-<li>bitqueue_t()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">boost::xint::detail::bitqueue_t</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x63.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x63.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,72 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li class="current">c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cannot_represent()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x64.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x64.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li class="current">d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>denorm_min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>divide_by_zero()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x65.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x65.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li class="current">e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>empty()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">boost::xint::detail::bitqueue_t</a>
-</li>
-<li>entropy()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
-</li>
-<li>epsilon()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-</li>
-<li>even()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x66.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x66.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li class="current">f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>fixed_integer()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>fixed_integer_any()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">boost::xint::fixed_integer_any</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x68.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x68.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li class="current">h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>hex_digits()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">boost::xint::integer</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x69.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x69.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li class="current">i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>infinity()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>integer()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">boost::xint::integer</a>
-</li>
-<li>invalid_argument()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">boost::xint::exceptions::invalid_argument</a>
-</li>
-<li>invalid_base()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">boost::xint::exceptions::invalid_base</a>
-</li>
-<li>invalid_digit()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">boost::xint::exceptions::invalid_digit</a>
-</li>
-<li>invalid_modulus()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">boost::xint::exceptions::invalid_modulus</a>
-</li>
-<li>is_nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x6d.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x6d.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li class="current">m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>max()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x6e.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x6e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li class="current">n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
-</li>
-<li>neg_t()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">boost::xint::detail::neg_t</a>
-</li>
-<li>no_strong_random()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
-</li>
-<li>not_a_number()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
-</li>
-<li>nothrow_integer()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x6f.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x6f.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,185 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li class="current">o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>odd()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">boost::xint::nothrow_integer</a>
-</li>
-<li>one()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">boost::xint::nothrow_integer</a>
-</li>
-<li>operator!()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">boost::xint::integer</a>
-</li>
-<li>operator%=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a49bd66c70cb6b121bfaea17627321779">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&amp;=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a6b9fd6cf35616b29c03d621a1a2d8c83">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">boost::xint::nothrow_integer</a>
-</li>
-<li>operator()()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">boost::xint::detail::random_generator&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
-</li>
-<li>operator*=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">boost::xint::nothrow_integer</a>
-</li>
-<li>operator+()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">boost::xint::nothrow_integer</a>
-</li>
-<li>operator++()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">boost::xint::nothrow_integer</a>
-</li>
-<li>operator+=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">boost::xint::nothrow_integer</a>
-</li>
-<li>operator-()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">boost::xint::nothrow_integer</a>
-</li>
-<li>operator--()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">boost::xint::nothrow_integer</a>
-</li>
-<li>operator-=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">boost::xint::integer</a>
-</li>
-<li>operator/=()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>operator&lt;&lt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">boost::xint::nothrow_integer</a>
-</li>
-<li>operator=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">boost::xint::base_divide_t&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">boost::xint::base_divide_t&lt; T &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">boost::xint::integer</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&gt;&gt;=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>operator^=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
-</li>
-<li>operator|=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>operator~()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>overflow_error()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">boost::xint::exceptions::overflow_error</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x70.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x70.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li class="current">p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pop()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">boost::xint::detail::bitqueue_t</a>
-</li>
-<li>push()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">boost::xint::detail::bitqueue_t</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x71.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x71.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li class="current">q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
-<li>quiet_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x72.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x72.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li class="current">r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>round_error()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x73.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x73.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li class="current">s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>sign()
-: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">boost::xint::fixed_integer&lt; Bits &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
-</li>
-<li>signaling_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>size()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">boost::xint::detail::bitqueue_t</a>
-</li>
-<li>strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x74.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x74.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li class="current">t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>temp_t()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">boost::xint::detail::temp_t</a>
-</li>
-<li>too_big()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">boost::xint::exceptions::too_big</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x7a.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x7a.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li class="current">z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_func_0x7e.html
==============================================================================
--- sandbox/xint/doc/functions_func_0x7e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li>Related Functions</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li class="current">~</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">boost::xint::detail::base_integer</a>
-</li>
-<li>~base_random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">boost::xint::detail::base_random_generator</a>
-</li>
-<li>~strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/functions_rela.html
==============================================================================
--- sandbox/xint/doc/functions_rela.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members - Related Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- <li class="current">Related Functions</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>base_variable_length_integer
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">boost::xint::detail::base_integer</a>
-</li>
-<li>temp_t
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">boost::xint::detail::base_integer</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/functions_type.html
==============================================================================
--- sandbox/xint/doc/functions_type.html (original)
+++ sandbox/xint/doc/functions_type.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,33 +30,22 @@
       <li>Functions</li>
       <li>Variables</li>
       <li class="current">Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
 </div>
 <div class="contents">
 &nbsp;<ul>
-<li>dist_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
 <li>divide_t
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
 , <a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">boost::xint::fixed_integer&lt; Bits &gt;</a>
-</li>
-<li>flag_t
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer</a>
-</li>
-<li>gen_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">boost::xint::detail::random_generator&lt; T &gt;</a>
 </li>
 <li>result_type
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">boost::xint::strong_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">boost::xint::detail::base_random_generator</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_vars.html
==============================================================================
--- sandbox/xint/doc/functions_vars.html (original)
+++ sandbox/xint/doc/functions_vars.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,18 +30,13 @@
       <li>Functions</li>
       <li class="current">Variables</li>
       <li>Typedefs</li>
- <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
     <ul>
- <li>c</li>
       <li>d</li>
- <li>f</li>
- <li>g</li>
       <li>h</li>
       <li>i</li>
- <li>l</li>
       <li>m</li>
       <li>q</li>
       <li>r</li>
@@ -52,13 +47,6 @@
 <div class="contents">
 &nbsp;
 
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>copies
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t</a>
-</li>
-</ul>
-
-
 <h3><a class="anchor" id="index_d">- d -</a></h3><ul>
 <li>digits
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -73,32 +61,6 @@
 </ul>
 
 
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>fixed_mask
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t</a>
-</li>
-<li>flag_fixedlength
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer</a>
-</li>
-<li>flag_negative
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer</a>
-</li>
-<li>flag_readonly
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gen
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>genobj
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-</ul>
-
-
 <h3><a class="anchor" id="index_h">- h -</a></h3><ul>
 <li>has_denorm
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -111,7 +73,7 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>has_fixed_range
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator</a>
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">boost::xint::strong_random_generator</a>
 </li>
 <li>has_infinity
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -170,30 +132,17 @@
 </ul>
 
 
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t</a>
-</li>
-</ul>
-
-
 <h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>magnitude
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t</a>
-</li>
 <li>max_exponent
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>max_exponent10
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
-<li>max_length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t</a>
-</li>
 <li>max_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">boost::xint::strong_random_generator</a>
 </li>
@@ -203,9 +152,9 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>min_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 <li>min_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">boost::xint::strong_random_generator</a>
@@ -250,7 +199,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/gcd_8cpp.html (original)
+++ sandbox/xint/doc/gcd_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,19 +38,11 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail::gcd</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail::invmod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail::lcm</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <br/></td></tr>
@@ -65,54 +57,8 @@
 <p>Also holds the definition for invmod, since it uses the GCD algorithm. </p>
 
 <p>Definition in file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="accb7b3088be4aa6fea6fe05dc527f01c"></a><!-- doxytag: member="gcd.cpp::u1" ref="accb7b3088be4aa6fea6fe05dc527f01c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35cdbdce7a7d33309a6cabd35c878b2f"></a><!-- doxytag: member="gcd.cpp::u2" ref="a35cdbdce7a7d33309a6cabd35c878b2f" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7ac8f5a4ca4a1c621ad1c8ea155faaf2"></a><!-- doxytag: member="gcd.cpp::u3" ref="a7ac8f5a4ca4a1c621ad1c8ea155faaf2" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -40,158 +40,155 @@
 <a name="l00021"></a>00021
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>boost {
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>xint {
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>{
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">struct </span>gcd_core {
-<a name="l00027"></a>00027 gcd_core(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m): <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>(integer::one()),
-<a name="l00028"></a>00028 <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>(integer::<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>()), <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>(n)
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030 integer t1=m, t2=n-<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), t3=m;
-<a name="l00031"></a>00031 <span class="keywordflow">do</span> {
-<a name="l00032"></a>00032 <span class="keywordflow">do</span> {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>.even()) {
-<a name="l00034"></a>00034 <span class="keywordflow">if</span> (<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>.odd() || <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>.odd()) { <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>+=m; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>+=n; }
-<a name="l00035"></a>00035 <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a> &gt;&gt;= 1;
-<a name="l00036"></a>00036 <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a> &gt;&gt;= 1;
-<a name="l00037"></a>00037 <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a> &gt;&gt;= 1;
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keywordflow">if</span> (t3.even() || <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a> &lt; t3) {
-<a name="l00041"></a>00041 <span class="comment">// Swap the u&#39;s with the t&#39;s</span>
-<a name="l00042"></a>00042 <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">std::swap</a>;
-<a name="l00043"></a>00043 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>, t1);
-<a name="l00044"></a>00044 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>, t2);
-<a name="l00045"></a>00045 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>, t3);
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 } <span class="keywordflow">while</span> (<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>.even());
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordflow">while</span> (<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a> &lt; t1 || <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a> &lt; t2) { <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>+=m; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>+=n; }
-<a name="l00050"></a>00050 <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>-=t1; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>-=t2; <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>-=t3;
-<a name="l00051"></a>00051 } <span class="keywordflow">while</span> (t3 &gt; 0);
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keywordflow">while</span> (<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a> &gt;= m &amp;&amp; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a> &gt;= n) { <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>-=m; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>-=n; }
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055
-<a name="l00056"></a><a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">00056</a> integer <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>, <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>, <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>;
-<a name="l00057"></a>00057 };
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 } <span class="comment">// namespace</span>
+<a name="l00024"></a>00024
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">struct </span>gcd_core {
+<a name="l00029"></a>00029 gcd_core(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m): u1(integer::one()),
+<a name="l00030"></a>00030 u2(integer::zero()), u3(n)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 integer t1=m, t2=n-<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), t3=m;
+<a name="l00033"></a>00033 <span class="keywordflow">do</span> {
+<a name="l00034"></a>00034 <span class="keywordflow">do</span> {
+<a name="l00035"></a>00035 <span class="keywordflow">if</span> (u3.even()) {
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (u1.odd() || u2.odd()) { u1+=m; u2+=n; }
+<a name="l00037"></a>00037 u1 &gt;&gt;= 1;
+<a name="l00038"></a>00038 u2 &gt;&gt;= 1;
+<a name="l00039"></a>00039 u3 &gt;&gt;= 1;
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (t3.even() || u3 &lt; t3) {
+<a name="l00043"></a>00043 <span class="comment">// Swap the u&#39;s with the t&#39;s</span>
+<a name="l00044"></a>00044 <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">std::swap</a>;
+<a name="l00045"></a>00045 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(u1, t1);
+<a name="l00046"></a>00046 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(u2, t2);
+<a name="l00047"></a>00047 <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(u3, t3);
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 } <span class="keywordflow">while</span> (u3.even());
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordflow">while</span> (u1 &lt; t1 || u2 &lt; t2) { u1+=m; u2+=n; }
+<a name="l00052"></a>00052 u1-=t1; u2-=t2; u3-=t3;
+<a name="l00053"></a>00053 } <span class="keywordflow">while</span> (t3 &gt; 0);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordflow">while</span> (u1 &gt;= m &amp;&amp; u2 &gt;= n) { u1-=m; u2-=n; }
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 integer u1, u2, u3;
+<a name="l00059"></a>00059 };
 <a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">namespace </span>detail {
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">gcd</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
-<a name="l00064"></a>00064 num2)
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066 <span class="keywordflow">if</span> (num1._is_zero() &amp;&amp; num2._is_zero()) {
-<a name="l00067"></a>00067 target._set_unsigned(0);
-<a name="l00068"></a>00068 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num1._is_zero()) {
-<a name="l00069"></a>00069 target._attach(num2);
-<a name="l00070"></a>00070 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num2._is_zero()) {
-<a name="l00071"></a>00071 target._attach(num1);
-<a name="l00072"></a>00072 } <span class="keywordflow">else</span> {
-<a name="l00073"></a>00073 temp_t n(num1), m(num2);
-<a name="l00074"></a>00074 n._set_negative(<span class="keyword">false</span>);
-<a name="l00075"></a>00075 m._set_negative(<span class="keyword">false</span>);
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keywordtype">size_t</span> k = 0;
-<a name="l00078"></a>00078 <span class="keywordflow">if</span> (!<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">getbit</a>(n, k) &amp;&amp; !<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">getbit</a>(m, k)) ++k;
-<a name="l00079"></a>00079 <span class="keywordflow">if</span> (k != 0) {
-<a name="l00080"></a>00080 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">shift_right</a>(n, n, k);
-<a name="l00081"></a>00081 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">shift_right</a>(m, m, k);
-<a name="l00082"></a>00082 }
+<a name="l00061"></a>00061 <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&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
+<a name="l00062"></a>00062 num2)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (num1._is_zero() &amp;&amp; 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="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="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>);
+<a name="l00073"></a>00073 m._set_negative(<span class="keyword">false</span>);
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keywordtype">size_t</span> k = 0;
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (!<a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(n, k) &amp;&amp; !<a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(m, k)) ++k;
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (k != 0) {
+<a name="l00078"></a>00078 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, n, k);
+<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="l00083"></a>00083
-<a name="l00084"></a>00084 gcd_core core(n._to_integer(), m._to_integer());
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (core.u3._is_zero()) {
-<a name="l00087"></a>00087 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">shift_left</a>(target, fixed_integer_any(1), k);
-<a name="l00088"></a>00088 } <span class="keywordflow">else</span> {
-<a name="l00089"></a>00089 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">shift_left</a>(target, core.u3, k);
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092 }
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">lcm</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
-<a name="l00095"></a>00095 num2)
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 <span class="keywordflow">if</span> (num1._is_zero() || num2._is_zero()) {
-<a name="l00098"></a>00098 target._set_unsigned(0);
-<a name="l00099"></a>00099 } <span class="keywordflow">else</span> {
-<a name="l00100"></a>00100 integer common;
-<a name="l00101"></a>00101 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">gcd</a>(common, num1, num2);
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 integer answer, remainder;
-<a name="l00104"></a>00104 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(answer, num1, num2);
-<a name="l00105"></a>00105 answer._set_negative(<span class="keyword">false</span>);
-<a name="l00106"></a>00106 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(answer, remainder, answer, common);
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 target._attach(answer);
-<a name="l00109"></a>00109 }
-<a name="l00110"></a>00110 }
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">invmod</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; m)
-<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 <span class="comment">// Calculates the modular inverse of n mod m, or (n^(-1)) mod m</span>
-<a name="l00115"></a>00115 <span class="comment">// Defined as b, where n*b corresponds to 1 (mod m)</span>
-<a name="l00116"></a>00116 <span class="keywordflow">if</span> (m._is_zero() || m._get_negative()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (n._is_zero()) {
-<a name="l00119"></a>00119 target._set_unsigned(0);
-<a name="l00120"></a>00120 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n._get_negative()) {
-<a name="l00121"></a>00121 integer _n(n._to_integer());
-<a name="l00122"></a>00122 _n._set_negative(<span class="keyword">false</span>);
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 integer nn;
-<a name="l00125"></a>00125 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">invmod</a>(nn, _n, m);
-<a name="l00126"></a>00126 <span class="keywordflow">if</span> (nn._is_zero()) {
-<a name="l00127"></a>00127 target._attach(nn);
-<a name="l00128"></a>00128 } <span class="keywordflow">else</span> {
-<a name="l00129"></a>00129 nn._set_negative(<span class="keyword">true</span>);
-<a name="l00130"></a>00130 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a>(target, nn, m);
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132 } <span class="keywordflow">else</span> {
-<a name="l00133"></a>00133 integer nn(n._to_integer()), mm(m._to_integer());
-<a name="l00134"></a>00134 <span class="keywordflow">if</span> (nn.even() &amp;&amp; mm.even()) {
-<a name="l00135"></a>00135 <span class="comment">// GCD != 1, no inverse possible.</span>
-<a name="l00136"></a>00136 target._set_unsigned(0);
-<a name="l00137"></a>00137 <span class="keywordflow">return</span>;
-<a name="l00138"></a>00138 }
+<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);
+<a name="l00086"></a>00086 } <span class="keywordflow">else</span> {
+<a name="l00087"></a>00087 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(target, core.u3, k);
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <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&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
+<a name="l00093"></a>00093 num2)
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (num1._is_zero() || num2._is_zero()) {
+<a name="l00096"></a>00096 target._set_unsigned(0);
+<a name="l00097"></a>00097 } <span class="keywordflow">else</span> {
+<a name="l00098"></a>00098 integer common;
+<a name="l00099"></a>00099 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(common, num1, num2);
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 integer answer, remainder;
+<a name="l00102"></a>00102 <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(answer, num1, num2);
+<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="l00107"></a>00107 }
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; m)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="comment">// Calculates the modular inverse of n mod m, or (n^(-1)) mod m</span>
+<a name="l00113"></a>00113 <span class="comment">// Defined as b, where n*b corresponds to 1 (mod m)</span>
+<a name="l00114"></a>00114 <span class="keywordflow">if</span> (m._is_zero() || m._get_negative()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
+<a name="l00115"></a>00115
+<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="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="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="l00132"></a>00132 <span class="keywordflow">if</span> (nn.even() &amp;&amp; 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);
+<a name="l00135"></a>00135 <span class="keywordflow">return</span>;
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 gcd_core core(nn, mm);
 <a name="l00139"></a>00139
-<a name="l00140"></a>00140 gcd_core core(nn, mm);
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 <span class="keywordflow">if</span> (core.u3 != <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()) {
-<a name="l00143"></a>00143 <span class="comment">// GCD != 1, no inverse possible.</span>
-<a name="l00144"></a>00144 target._set_unsigned(0);
-<a name="l00145"></a>00145 <span class="keywordflow">return</span>;
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 target._attach(core.u1);
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 } <span class="comment">// namespace detail</span>
-<a name="l00153"></a>00153
-<a name="l00163"></a>00163 integer <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00164"></a>00164 integer r;
-<a name="l00165"></a>00165 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">detail::gcd</a>(r, num1, num2);
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168
-<a name="l00179"></a>00179 integer <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00180"></a>00180 integer r;
-<a name="l00181"></a>00181 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">detail::lcm</a>(r, num1, num2);
-<a name="l00182"></a>00182 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00183"></a>00183 }
-<a name="l00184"></a>00184
-<a name="l00197"></a>00197 integer <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00198"></a>00198 integer r;
-<a name="l00199"></a>00199 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">detail::invmod</a>(r, n, m);
-<a name="l00200"></a>00200 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00201"></a>00201 }
-<a name="l00202"></a>00202
-<a name="l00203"></a>00203 } <span class="comment">// namespace xint</span>
-<a name="l00204"></a>00204 } <span class="comment">// namespace boost</span>
+<a name="l00140"></a>00140 <span class="keywordflow">if</span> (core.u3 != <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()) {
+<a name="l00141"></a>00141 <span class="comment">// GCD != 1, no inverse possible.</span>
+<a name="l00142"></a>00142 target._set_unsigned(0);
+<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="l00147"></a>00147 }
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 } <span class="comment">// namespace detail</span>
+<a name="l00152"></a>00152 <span class="comment"></span>
+<a name="l00162"></a>00162 integer <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00163"></a>00163 integer r;
+<a name="l00164"></a>00164 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">detail::gcd</a>(r, num1, num2);
+<a name="l00165"></a>00165 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00178"></a>00178 integer <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00179"></a>00179 integer r;
+<a name="l00180"></a>00180 <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">detail::lcm</a>(r, num1, num2);
+<a name="l00181"></a>00181 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183
+<a name="l00196"></a>00196 integer <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00197"></a>00197 integer r;
+<a name="l00198"></a>00198 <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">detail::invmod</a>(r, n, m);
+<a name="l00199"></a>00199 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/globals.html
==============================================================================
--- sandbox/xint/doc/globals.html (original)
+++ sandbox/xint/doc/globals.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -26,7 +26,6 @@
   <div class="tabs">
     <ul>
       <li class="current">All</li>
- <li>Variables</li>
       <li>Defines</li>
     </ul>
   </div>
@@ -57,27 +56,15 @@
 <li>BOOST_XINT_RV_REF
 : <a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">internals.hpp</a>
 </li>
-<li>ddPowerOfTwo
-: <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
-</li>
-<li>mTable
-: <a class="el" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">monty.cpp</a>
-</li>
-<li>u1
-: <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">gcd.cpp</a>
-</li>
-<li>u2
-: <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">gcd.cpp</a>
-</li>
-<li>u3
-: <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">gcd.cpp</a>
+<li>BOOST_XINT_USE_COPY_ON_WRITE
+: <a class="el" href="internals_8hpp.html#a82e7dee9581106a0231613be0f1fbd3f">internals.hpp</a>
 </li>
 <li>VALGRIND_COMPATIBLE
 : <a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">data_t.cpp</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -26,7 +26,6 @@
   <div class="tabs">
     <ul>
       <li>All</li>
- <li>Variables</li>
       <li class="current">Defines</li>
     </ul>
   </div>
@@ -57,15 +56,15 @@
 <li>BOOST_XINT_RV_REF
 : <a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">internals.hpp</a>
 </li>
-<li>ddPowerOfTwo
-: <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
+<li>BOOST_XINT_USE_COPY_ON_WRITE
+: <a class="el" href="internals_8hpp.html#a82e7dee9581106a0231613be0f1fbd3f">internals.hpp</a>
 </li>
 <li>VALGRIND_COMPATIBLE
 : <a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">data_t.cpp</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/globals_vars.html
==============================================================================
--- sandbox/xint/doc/globals_vars.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li class="current">File Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Variables</li>
- <li>Defines</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>mTable
-: <a class="el" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">monty.cpp</a>
-</li>
-<li>u1
-: <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">gcd.cpp</a>
-</li>
-<li>u2
-: <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">gcd.cpp</a>
-</li>
-<li>u3
-: <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">gcd.cpp</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/hierarchy.html
==============================================================================
--- sandbox/xint/doc/hierarchy.html (original)
+++ sandbox/xint/doc/hierarchy.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,37 +28,21 @@
 <div class="contents">
 <h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
 <li><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></li>
-<li><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a><ul>
-<li><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a><ul>
-<li><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></li>
-<li><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></li>
-</ul>
-</li>
-<li><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a><ul>
-<li><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></li>
-</ul>
-</li>
+<li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></li>
+<li><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></li>
+<li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a><ul>
 <li><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></li>
 </ul>
 </li>
-</ul>
-</li>
-<li><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a><ul>
-<li><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></li>
-</ul>
-</li>
-<li><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></li>
-<li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></li>
-<li><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></li>
-<li><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></li>
-<li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></li>
+<li><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></li>
+<li><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></li>
 <li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></li>
 <li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></li>
 <li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></li>
@@ -67,7 +51,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history.html
==============================================================================
--- sandbox/xint/doc/history.html (original)
+++ sandbox/xint/doc/history.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history_8dox.html
==============================================================================
--- sandbox/xint/doc/history_8dox.html (original)
+++ sandbox/xint/doc/history_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index.html
==============================================================================
--- sandbox/xint/doc/index.html (original)
+++ sandbox/xint/doc/index.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index_8dox.html
==============================================================================
--- sandbox/xint/doc/index_8dox.html (original)
+++ sandbox/xint/doc/index_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/integer_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -43,111 +43,109 @@
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>boost {
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>xint {
 <a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>{
-<a name="l00026"></a>00026 std::auto_ptr&lt;integer&gt; cZero, cOne;
-<a name="l00027"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">00027</a> }
-<a name="l00028"></a>00028
-<a name="l00030"></a>00030 <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>() {
-<a name="l00031"></a>00031 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>();
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00044"></a>00044 <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> integer&amp; b) {
-<a name="l00045"></a>00045 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00058"></a>00058 <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&amp; b) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (b.is_nan()) <span class="keywordflow">throw</span> exceptions::not_a_number();
-<a name="l00060"></a>00060 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00069"></a>00069 <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&amp; b) {
-<a name="l00070"></a>00070 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00096"></a>00096 <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&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00097"></a>00097 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099
-<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00107"></a>00107 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==1);
-<a name="l00108"></a>00108 }
-<a name="l00109"></a>00109
-<a name="l00116"></a>00116 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00117"></a>00117 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==0);
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00131"></a>00131 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
-<a name="l00132"></a>00132 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) <span class="keywordflow">return</span> 0;
-<a name="l00133"></a>00133 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135
-<a name="l00143"></a>00143 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large *this is.">integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00144"></a>00144 <span class="keywordtype">size_t</span> bits=<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>();
-<a name="l00145"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">00145</a> <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend) {
-<a name="l00149"></a>00149 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, addend);
-<a name="l00150"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">00150</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend) {
-<a name="l00154"></a>00154 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, subtrahend);
-<a name="l00155"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">00155</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <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="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
-<a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">00160</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00161"></a>00161 }
-<a name="l00162"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">00162</a>
-<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">00163</a> <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#a974cdabaf176323354cf491820b2d22d">integer::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>); }
-<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">00164</a>
-<a name="l00165"></a>00165 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00166"></a><a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">00166</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">00167</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">00168</a>
-<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">00169</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00170"></a>00170 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">00171</a> <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#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
-<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">00172</a> <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#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
-<a name="l00173"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">00173</a>
-<a name="l00174"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">00174</a> <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#abc90075da0adaef0da2d0083e59af414">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00175"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">00175</a> <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#a22af7cfcb28f97f4c8b78939265b46d6">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00176"></a>00176 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00177"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">00177</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 integer&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00181"></a>00181 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
-<a name="l00182"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">00182</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00183"></a>00183 }
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00186"></a>00186 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
-<a name="l00187"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">00187</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00188"></a>00188 }
-<a name="l00189"></a>00189
-<a name="l00190"></a>00190 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>() {
-<a name="l00191"></a>00191 <span class="keywordflow">if</span> (cZero.get()==0) {
-<a name="l00192"></a>00192 cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(0));
-<a name="l00193"></a>00193 cZero-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
-<a name="l00194"></a>00194 }
-<a name="l00195"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">00195</a> <span class="keywordflow">return</span> *cZero;
-<a name="l00196"></a>00196 }
-<a name="l00197"></a>00197
-<a name="l00198"></a>00198 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() {
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> (cOne.get()==0) {
-<a name="l00200"></a>00200 cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(1));
-<a name="l00201"></a>00201 cOne-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203 <span class="keywordflow">return</span> *cOne;
-<a name="l00204"></a>00204 }
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 } <span class="comment">// namespace xint</span>
-<a name="l00207"></a>00207 } <span class="comment">// namespace boost</span>
+<a name="l00025"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">00025</a> std::auto_ptr&lt;integer&gt; integer::cZero, integer::cOne;
+<a name="l00026"></a>00026
+<a name="l00028"></a>00028 <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>() {
+<a name="l00029"></a>00029 _attach_0();
+<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>&amp; b) {
+<a name="l00043"></a>00043 _attach(b);
+<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&amp; 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="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&amp; b) {
+<a name="l00068"></a>00068 _attach(b);
+<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&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00095"></a>00095 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00104"></a>00104 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">integer::odd</a>()<span class="keyword"> const </span>{
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> ((_get_digit(0) &amp; 0x01)==1);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00114"></a>00114 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">integer::even</a>()<span class="keyword"> const </span>{
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> ((_get_digit(0) &amp; 0x01)==0);
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117
+<a name="l00129"></a>00129 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
+<a name="l00130"></a>00130 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; _is_zero()) <span class="keywordflow">return</span> 0;
+<a name="l00131"></a>00131 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (_get_negative() ? -1 : 1);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00141"></a>00141 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large *this is.">integer::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00142"></a>00142 <span class="keywordtype">size_t</span> bits=_log2();
+<a name="l00143"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">00143</a> <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend) {
+<a name="l00147"></a>00147 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, addend);
+<a name="l00148"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">00148</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend) {
+<a name="l00152"></a>00152 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, subtrahend);
+<a name="l00153"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">00153</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<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>&amp; <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="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>
+<a name="l00161"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">00161</a> <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#a974cdabaf176323354cf491820b2d22d">integer::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>); }
+<a name="l00162"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">00162</a>
+<a name="l00163"></a>00163 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">00164</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00165"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">00165</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00166"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">00166</a>
+<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">00167</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>() { _increment(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00168"></a>00168 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>() { _decrement(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">00169</a> <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#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; _increment(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">00170</a> <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#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; _decrement(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">00171</a>
+<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">00172</a> <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#abc90075da0adaef0da2d0083e59af414">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00173"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">00173</a> <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#a22af7cfcb28f97f4c8b78939265b46d6">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00174"></a>00174 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00175"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">00175</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00176"></a>00176 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 integer&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00179"></a>00179 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00180"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">00180</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00181"></a>00181 }
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00184"></a>00184 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00185"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">00185</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>() {
+<a name="l00189"></a>00189 <span class="keywordflow">if</span> (cZero.get()==0) {
+<a name="l00190"></a>00190 cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(0));
+<a name="l00191"></a>00191 cZero-&gt;_set_readonly();
+<a name="l00192"></a>00192 }
+<a name="l00193"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">00193</a> <span class="keywordflow">return</span> *cZero;
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() {
+<a name="l00197"></a>00197 <span class="keywordflow">if</span> (cOne.get()==0) {
+<a name="l00198"></a>00198 cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(1));
+<a name="l00199"></a>00199 cOne-&gt;_set_readonly();
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> *cOne;
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/integer_8hpp.html (original)
+++ sandbox/xint/doc/integer_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -48,7 +48,7 @@
 <tr><td colspan="2"><div class="groupHeader">Mathematical primitives</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp196dd2a5f50860e057df961a96d84ea3"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
@@ -73,7 +73,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>XOR</code> operation. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an integer with a value of one. <br/></td></tr>
@@ -90,9 +90,9 @@
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <br/></td></tr>
@@ -105,11 +105,11 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">boost::xint::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
@@ -123,14 +123,14 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficiently converts from an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">xint::integer</a> to a built-in integer type. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint::to_binary</a> (const integer &amp;n, size_t bits)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular inverse of a number in a modulus, if there is one. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
@@ -141,7 +141,7 @@
 <tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,12 +44,12 @@
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025
-<a name="l00033"></a><a class="code" href="classboost_1_1xint_1_1integer.html">00033</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a> {
+<a name="l00033"></a><a class="code" href="classboost_1_1xint_1_1integer.html">00033</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>: <span class="keyword">public</span> detail::base_variable_length_integer {
 <a name="l00034"></a>00034 <span class="keyword">public</span>:
 <a name="l00035"></a>00035
 <a name="l00038"></a>00038 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>();
 <a name="l00039"></a>00039 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00040"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">00040</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) b) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(b); }
+<a name="l00040"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">00040</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) b) { _swap(b); }
 <a name="l00041"></a>00041 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">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>&amp; b);
 <a name="l00042"></a>00042 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">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>&amp; b);
 <a name="l00043"></a>00043 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
@@ -61,11 +61,11 @@
 <a name="l00049"></a>00049 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
 <a name="l00051"></a>00051
 <a name="l00060"></a>00060 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">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="l00061"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">00061</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(c); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00061"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">00061</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c) { _swap(c); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00062"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">00062</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">operator=</a>(<span class="keyword">const</span> T&amp; n) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> nn(n);
-<a name="l00063"></a>00063 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00063"></a>00063 _swap(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00064"></a>00064
-<a name="l00065"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">00065</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<a name="l00065"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">00065</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _is_zero(); }
 <a name="l00066"></a>00066 <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#a974cdabaf176323354cf491820b2d22d">operator-</a>() <span class="keyword">const</span>;
 <a name="l00067"></a><a class="code" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">00067</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">00068</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
@@ -102,165 +102,167 @@
 <a name="l00111"></a>00111
 <a name="l00112"></a>00112 <span class="keyword">private</span>:
 <a name="l00113"></a>00113 <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>)
-<a name="l00114"></a>00114 };
-<a name="l00115"></a>00115
-<a name="l00118"></a>00118 <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#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00119"></a>00119 <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#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00120"></a>00120 <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#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend);
-<a name="l00121"></a>00121 <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#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend);
-<a name="l00122"></a>00122 <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#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; multiplicand);
-<a name="l00123"></a>00123 <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#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
-<a name="l00124"></a>00124 <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
-<a name="l00126"></a>00126
-<a name="l00129"></a>00129 <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#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00130"></a>00130 <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#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; exponent);
-<a name="l00131"></a>00131 <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#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00132"></a>00132 <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#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00133"></a>00133 <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#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00135"></a>00135
-<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00139"></a>00139 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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=<span class="keyword">false</span>);
-<a name="l00140"></a>00140 <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#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00141"></a>00141 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
-<a name="l00142"></a>00142 <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#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits=0);
-<a name="l00144"></a>00144
-<a name="l00147"></a>00147 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00148"></a>00148 <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>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00149"></a>00149 <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>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00150"></a>00150 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00151"></a>00151 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00152"></a>00152 <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#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00153"></a>00153 <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#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00154"></a>00154 <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#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00155"></a>00155 <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#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
-<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="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00157"></a>00157 <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#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00159"></a>00159
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modBy);
-<a name="l00167"></a>00167 <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#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; by, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
-<a name="l00168"></a>00168 <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#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
-<a name="l00169"></a>00169 <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#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; exponent, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp;
-<a name="l00170"></a>00170 modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
-<a name="l00171"></a>00171 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
-<a name="l00173"></a>00173
-<a name="l00176"></a>00176 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span>
-<a name="l00177"></a>00177 lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
-<a name="l00179"></a>00179
-<a name="l00182"></a>00182 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00183"></a>00183 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00185"></a>00185
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00192"></a>00192 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00193"></a>00193 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00194"></a>00194 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00195"></a>00195 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00196"></a>00196 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00197"></a>00197
-<a name="l00198"></a>00198 <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#a69d186688f404f1608663142da86158c">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00199"></a>00199 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00207"></a>00207
-<a name="l00210"></a>00210 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
-<a name="l00211"></a>00211 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00212"></a>00212 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
-<a name="l00213"></a>00213 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
-<a name="l00215"></a>00215
-<a name="l00217"></a>00217 <span class="comment">// Template function definitions</span>
-<a name="l00218"></a>00218
-<a name="l00231"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00231</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00232"></a>00232 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00233"></a>00233 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00234"></a>00234 {
-<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
-<a name="l00236"></a>00236 }
-<a name="l00237"></a>00237
-<a name="l00250"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00250</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00251"></a>00251 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00252"></a>00252 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00253"></a>00253 {
-<a name="l00254"></a>00254 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
-<a name="l00255"></a>00255 }
-<a name="l00256"></a>00256
-<a name="l00267"></a>00267 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00268"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00268</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
-<a name="l00269"></a>00269 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
-<a name="l00270"></a>00270 }
-<a name="l00271"></a>00271
-<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00275"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00275</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00276"></a>00276 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
-<a name="l00279"></a>00279 }
-<a name="l00280"></a>00280
-<a name="l00281"></a>00281 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00282"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00282</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00283"></a>00283 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00284"></a>00284 {
-<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
-<a name="l00286"></a>00286 }
-<a name="l00288"></a>00288
-<a name="l00289"></a><a class="code" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">00289</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; right) {
-<a name="l00290"></a>00290 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
-<a name="l00291"></a>00291 }
-<a name="l00292"></a>00292
-<a name="l00293"></a>00293 } <span class="comment">// namespace xint</span>
-<a name="l00294"></a>00294 } <span class="comment">// namespace boost</span>
-<a name="l00295"></a>00295
-<a name="l00296"></a>00296 <span class="keyword">namespace </span>std {
-<a name="l00297"></a>00297 <span class="keyword">template</span>&lt;&gt;
-<a name="l00298"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00298</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
-<a name="l00299"></a>00299 <span class="keyword">public</span>:
-<a name="l00300"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00300</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00301"></a>00301
-<a name="l00302"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00302</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00303"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00303</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00304"></a>00304
-<a name="l00305"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00305</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00306"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00306</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00307"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00307</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00308"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00308</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00309"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00309</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00310"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00310</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00311"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00311</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00312"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00312</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00313"></a>00313
-<a name="l00314"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00314</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00315"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00315</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00316"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00316</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00317"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00317</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00318"></a>00318
-<a name="l00319"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00319</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00320"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00320</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
-<a name="l00321"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00321</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00322"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00322</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00323"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00323</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00324"></a>00324
-<a name="l00325"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00325</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00326"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00326</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00327"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00327</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00328"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00328</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00329"></a>00329
-<a name="l00330"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00330</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00331"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00331</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00332"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00332</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00333"></a>00333
-<a name="l00334"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00334</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00335"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00335</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00336"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00336</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00337"></a>00337 };
-<a name="l00338"></a>00338 } <span class="comment">// namespace std</span>
-<a name="l00339"></a>00339
-<a name="l00340"></a>00340 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 static std::auto_ptr&lt;<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&gt; cZero, cOne;
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00120"></a>00120 <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#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00121"></a>00121 <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#aedc1654de47ce6d6635e5339b236f94d">negate</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00122"></a>00122 <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#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend);
+<a name="l00123"></a>00123 <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#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend);
+<a name="l00124"></a>00124 <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#af844548a421cfc751133081b334dbe4b">multiply</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; multiplicand);
+<a name="l00125"></a>00125 <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#a5b884361c54aa64a1974879cb3464c9a">divide</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
+<a name="l00126"></a>00126 <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_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
+<a name="l00128"></a>00128
+<a name="l00131"></a>00131 <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#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00132"></a>00132 <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#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; exponent);
+<a name="l00133"></a>00133 <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#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(<span class="keywordtype">size_t</span> exponent);
+<a name="l00134"></a>00134 <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#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(<span class="keywordtype">size_t</span> n);
+<a name="l00135"></a>00135 <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#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00137"></a>00137
+<a name="l00140"></a>00140 template &lt;typename T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00141"></a>00141 std::<span class="keywordtype">string</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=false);
+<a name="l00142"></a>00142 <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#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(const std::<span class="keywordtype">string</span>&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00143"></a>00143 xint::<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00144"></a>00144 <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#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(const xint::<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00146"></a>00146
+<a name="l00149"></a>00149 <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>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00150"></a>00150 <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>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00151"></a>00151 <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>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00152"></a>00152 <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>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00153"></a>00153 <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>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00154"></a>00154 <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#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00155"></a>00155 <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#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<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="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00157"></a>00157 <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#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
+<a name="l00158"></a>00158 <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#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00159"></a>00159 <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#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00161"></a>00161
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modBy);
+<a name="l00169"></a>00169 <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#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; by, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
+<a name="l00170"></a>00170 <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#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
+<a name="l00171"></a>00171 <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#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; exponent, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp;
+<a name="l00172"></a>00172 modulus, <span class="keywordtype">bool</span> noMontgomery=false);
+<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
+<a name="l00175"></a>00175
+<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=false, <span class="keywordtype">bool</span>
+<a name="l00179"></a>00179 lowBitOn=false, <span class="keywordtype">bool</span> canBeNegative=false);
+<a name="l00181"></a>00181
+<a name="l00184"></a>00184 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00185"></a>00185 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=no_callback);
+<a name="l00187"></a>00187
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00194"></a>00194 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00196"></a>00196 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00198"></a>00198 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00209"></a>00209
+<a name="l00212"></a>00212 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=false);
+<a name="l00213"></a>00213 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00214"></a>00214 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00217"></a>00217
+<a name="l00219"></a>00219 <span class="comment">// Template function definitions</span>
+<a name="l00220"></a>00220
+<a name="l00233"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00233</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>::<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>(const T&amp; n,
+<a name="l00234"></a>00234 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00235"></a>00235 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237 _set_signed(n);
+<a name="l00238"></a>00238 }
+<a name="l00239"></a>00239
+<a name="l00252"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00252</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00253"></a>00253 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00254"></a>00254 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 _set_unsigned(n);
+<a name="l00257"></a>00257 }
+<a name="l00258"></a>00258
+<a name="l00269"></a>00269 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00270"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00270</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
+<a name="l00271"></a>00271 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00272"></a>00272 }
+<a name="l00273"></a>00273
+<a name="l00276"></a>00276 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00277"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00277</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00278"></a>00278 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00279"></a>00279 {
+<a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00284"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00284</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00285"></a>00285 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00286"></a>00286 {
+<a name="l00287"></a>00287 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00288"></a>00288 }
+<a name="l00290"></a>00290
+<a name="l00291"></a><a class="code" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">00291</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; right) {
+<a name="l00292"></a>00292 left._swap(right);
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 } <span class="comment">// namespace xint</span>
+<a name="l00296"></a>00296 } <span class="comment">// namespace boost</span>
+<a name="l00297"></a>00297
+<a name="l00298"></a>00298 <span class="keyword">namespace </span>std {
+<a name="l00299"></a>00299 <span class="keyword">template</span>&lt;&gt;
+<a name="l00300"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00300</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
+<a name="l00301"></a>00301 <span class="keyword">public</span>:
+<a name="l00302"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00302</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00303"></a>00303
+<a name="l00304"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00304</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00305"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00305</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00306"></a>00306
+<a name="l00307"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00307</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00308"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00308</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00309"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00309</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00310"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00310</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00311"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00311</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00312"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00312</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00313"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00313</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00314"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00314</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00315"></a>00315
+<a name="l00316"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00316</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00317"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00317</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00318"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00318</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00319"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00319</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00320"></a>00320
+<a name="l00321"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00321</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00322"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00322</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
+<a name="l00323"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00323</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00324"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00324</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00325"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00325</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00326"></a>00326
+<a name="l00327"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00327</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00328"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00328</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00329"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00329</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00330"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00330</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00331"></a>00331
+<a name="l00332"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00332</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00333"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00333</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00334"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00334</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00335"></a>00335
+<a name="l00336"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00336</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00337"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00337</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00338"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00338</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00339"></a>00339 };
+<a name="l00340"></a>00340 } <span class="comment">// namespace std</span>
+<a name="l00341"></a>00341
+<a name="l00342"></a>00342 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/internals_8hpp.html
==============================================================================
--- sandbox/xint/doc/internals_8hpp.html (original)
+++ sandbox/xint/doc/internals_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -34,21 +34,9 @@
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the results from a division-with-remainder call. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all integer classes. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for the variable-length integer classes. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used internally to reorder bits into different-sized groupings. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the magnitude digits of an integer. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a negated temporary integer that can always share storage. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a temporary integer that can always share storage. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
@@ -67,70 +55,12 @@
 <tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(type, value)&nbsp;&nbsp;&nbsp;value</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(value)&nbsp;&nbsp;&nbsp;value</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(type)&nbsp;&nbsp;&nbsp;<a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&lt;type&gt;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a82e7dee9581106a0231613be0f1fbd3f">BOOST_XINT_USE_COPY_ON_WRITE</a></td></tr>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; unsigned <br class="typebreak"/>
 char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint::binary_t</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
-&lt; std::numeric_limits<br class="typebreak"/>
-&lt; doubledigit_t &gt;::digits/2 &gt;<br class="typebreak"/>
-::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail::digit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail::doubledigit_t</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail::add</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail::bitwise_and</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail::bitwise_or</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail::bitwise_xor</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail::clearbit</a> (base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail::compare</a> (const base_integer &amp;b1, const base_integer &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">boost::xint::detail::divide</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail::divide</a> (base_integer &amp;qtarget, base_integer &amp;rtarget, const base_integer &amp;d1, const base_integer &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail::factorial</a> (base_integer &amp;target, size_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail::from_binary</a> (base_integer &amp;target, const xint::binary_t &amp;b, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail::from_string</a> (base_integer &amp;target, const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail::gcd</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail::getbit</a> (const base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail::highestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail::invmod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail::lcm</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a> (size_t bits)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3c6ea7edbed003bc5ed8254fd2f12ac5">boost::xint::detail::log2</a> (const T &amp;nn, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">boost::xint::detail::log2</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail::lowestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail::mod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail::multiply</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;by)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">boost::xint::detail::operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const base_integer &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">boost::xint::detail::operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, base_integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail::pow</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail::powmod</a> (base_integer &amp;target, const base_integer &amp;_n, const base_integer &amp;_e, const base_integer &amp;_m, bool noMontgomery)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail::setbit</a> (base_integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail::shift_left</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail::shift_right</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail::sqr</a> (base_integer &amp;target, const base_integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail::sqrt</a> (base_integer &amp;target, const base_integer &amp;nn)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail::subtract</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">boost::xint::detail::to</a> (const base_integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail::to_binary</a> (xint::binary_t &amp;target, const base_integer &amp;n, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail::to_string</a> (const base_integer &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">The data_t functions.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp583f07902076b847c6a492abda2f342d"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length, digit_t mask)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail::allocate_fixed</a> (digit_t mask, size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail::allocate_fixed_zero</a> (digit_t mask, size_t max_digits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail::deallocate</a> (data_t *data)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af233ab6ae59b3ef29d352b8d08cf772f">boost::xint::detail::duplicate</a> (data_t *olddata, data_t *data_to_copy, size_t extra=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a685a3fff60bd1083508712548203cf7b">boost::xint::detail::duplicate</a> (data_t *olddata, size_t extra=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail::reallocate</a> (data_t *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a589b1fc1784e06a3aef44c86254f1a45">boost::xint::detail::zero</a> (digit_t *p, size_t size)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail::zero</a> (digit_t *p, digit_t *end)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
@@ -140,18 +70,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with the <a class="el" href="threadsafe.html">Thread Safe Operation option </a> enabled. <br/></td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail::nan_text</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the text representation of the Not-a-Number value. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const callback_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint::no_callback</a></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Some constants used by the library.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpe1f42a3ea000e0468230fb7abe73e7b1"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail::bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail::digit_hibit</a> = (digit_t(1) &lt;&lt; (bits_per_digit-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail::digit_mask</a> = digit_t(digit_overflowbit-1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail::digit_overflowbit</a> = (doubledigit_t(1) &lt;&lt; bits_per_digit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail::digits_in_uintmax</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail::doubledigit_hibit</a> = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1))</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the internal definitions required for all XInt types. </p>
@@ -175,7 +94,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00048">48</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#l00065">65</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -195,7 +114,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00049">49</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#l00066">66</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -220,7 +139,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00052">52</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#l00069">69</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -240,7 +159,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00051">51</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#l00068">68</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -260,12 +179,27 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00050">50</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#l00067">67</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82e7dee9581106a0231613be0f1fbd3f"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_USE_COPY_ON_WRITE" ref="a82e7dee9581106a0231613be0f1fbd3f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_USE_COPY_ON_WRITE</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00052">52</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -39,448 +39,467 @@
 <a name="l00020"></a>00020 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
 <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
 <a name="l00022"></a>00022 <span class="preprocessor"></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;queue&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;boost/integer.hpp&gt;</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;boost/function.hpp&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_USE_MOVE</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span>
-<a name="l00039"></a>00039 <span class="preprocessor">#ifdef BOOST_XINT_USE_MOVE</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/move/move.hpp&gt;</span>
-<a name="l00041"></a>00041 <span class="preprocessor"> #define BOOST_XINT_COPY_ASSIGN_REF(type) BOOST_COPY_ASSIGN_REF(type)</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_COPYABLE_AND_MOVABLE(type) BOOST_COPYABLE_AND_MOVABLE(type)</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_RV_REF(type) BOOST_RV_REF(type)</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_MOVE(value) boost::move(value)</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_FORWARD(type, value) boost::forward&lt;type&gt;(value)</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00047"></a><a class="code" href="classdisable__boost__rv__ref.html">00047</a> <span class="preprocessor"></span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">class </span><a class="code" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>: <span class="keyword">public</span> T { };
-<a name="l00048"></a><a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">00048</a> <span class="preprocessor"> #define BOOST_XINT_COPY_ASSIGN_REF(type) const type&amp;</span>
-<a name="l00049"></a><a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">00049</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_COPYABLE_AND_MOVABLE(type)</span>
-<a name="l00050"></a><a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">00050</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_RV_REF(type) disable_boost_rv_ref&lt;type&gt;</span>
-<a name="l00051"></a><a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">00051</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_MOVE(value) value</span>
-<a name="l00052"></a><a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">00052</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_FORWARD(type, value) value</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>
-<a name="l00055"></a>00055 <span class="keyword">namespace </span>boost {
-<a name="l00056"></a>00056
-<a name="l00058"></a>00058 <span class="keyword">namespace </span>xint {
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="keyword">class </span>integer;
-<a name="l00061"></a>00061 <span class="keyword">class </span>nothrow_integer;
-<a name="l00062"></a>00062 <span class="keyword">class </span>fixed_integer_any;
-<a name="l00063"></a><a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">00063</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>;
-<a name="l00064"></a>00064
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> boost::function&lt;bool ()&gt; <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>;
-<a name="l00069"></a>00069
-<a name="l00073"></a><a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">00073</a> <span class="keyword">typedef</span> std::vector&lt;unsigned char&gt; <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a>;
-<a name="l00074"></a>00074
-<a name="l00078"></a><a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">00078</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>;
-<a name="l00079"></a>00079
-<a name="l00083"></a><a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">00083</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>=(std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00084"></a>00084
-<a name="l00086"></a>00086 <span class="keyword">namespace </span>detail {
-<a name="l00087"></a>00087
-<a name="l00093"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">00093</a> <span class="keyword">typedef</span> boost::uintmax_t <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>;
-<a name="l00094"></a>00094
-<a name="l00100"></a>00100 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
-<a name="l00101"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">00101</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>;
-<a name="l00102"></a>00102
-<a name="l00105"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">00105</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits;
-<a name="l00106"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">00106</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">digits_in_uintmax</a> =
-<a name="l00107"></a>00107 (std::numeric_limits&lt;boost::uintmax_t&gt;::digits + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - 1) /
-<a name="l00108"></a>00108 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00109"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">00109</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">digit_hibit</a> = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>-1));
-<a name="l00110"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">00110</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">doubledigit_hibit</a> = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>*2-1));
-<a name="l00111"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">00111</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a> = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00112"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">00112</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a> = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>-1);
-<a name="l00114"></a>00114
-<a name="l00116"></a>00116 <span class="keyword">const</span> <span class="keyword">extern</span> std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">nan_text</a>;
-<a name="l00117"></a>00117
-<a name="l00119"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html">00119</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> {
-<a name="l00120"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">00120</a> <span class="keywordtype">size_t</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>;
-<a name="l00121"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">00121</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99" title="For the topmost digit; zero for variable-sized.">fixed_mask</a>;
-<a name="l00122"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">00122</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a>[1];
-<a name="l00123"></a>00123 };
-<a name="l00124"></a>00124
-<a name="l00127"></a>00127 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *end);
-<a name="l00128"></a>00128 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, <span class="keywordtype">size_t</span> size);
-<a name="l00129"></a>00129 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(<span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length=
-<a name="l00130"></a>00130 (std::numeric_limits&lt;size_t&gt;::max)(), <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> fixed_mask=0);
-<a name="l00131"></a>00131 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, <span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length=
-<a name="l00132"></a>00132 (std::numeric_limits&lt;size_t&gt;::max)());
-<a name="l00133"></a>00133 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">allocate_fixed_zero</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, <span class="keywordtype">size_t</span> max_digits);
-<a name="l00134"></a>00134 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">reallocate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <span class="keywordtype">size_t</span> newsize);
-<a name="l00135"></a>00135 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a685a3fff60bd1083508712548203cf7b">duplicate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <span class="keywordtype">size_t</span> extra=0);
-<a name="l00136"></a>00136 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a685a3fff60bd1083508712548203cf7b">duplicate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *data_to_copy, <span class="keywordtype">size_t</span> extra=0);
-<a name="l00137"></a>00137 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *data);
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html" title="Makes a temporary integer that can always share storage.">temp_t</a>;
-<a name="l00141"></a>00141 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a>;
+<a name="l00023"></a>00023 <span class="comment">// For performance testing, uncomment one of these defines.</span>
+<a name="l00024"></a>00024 <span class="comment">//#define XINT_TEST_BASELINE</span>
+<a name="l00025"></a>00025 <span class="comment">//#define XINT_TEST_MOVE</span>
+<a name="l00026"></a>00026 <span class="comment">//#define XINT_TEST_COPY_ON_WRITE</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;queue&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;limits&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;boost/integer.hpp&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;boost/function.hpp&gt;</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#if defined XINT_TEST_BASELINE</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor"> #define PERFORMANCE_TEST</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#elif defined XINT_TEST_COPY_ON_WRITE</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor"> #define PERFORMANCE_TEST</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_USE_COPY_ON_WRITE</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#elif defined XINT_TEST_MOVE</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor"> #define PERFORMANCE_TEST</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_USE_MOVE</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_USE_MOVE</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
+<a name="l00052"></a><a class="code" href="internals_8hpp.html#a82e7dee9581106a0231613be0f1fbd3f">00052</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_USE_COPY_ON_WRITE</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056 <span class="preprocessor">#ifdef BOOST_XINT_USE_MOVE</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/move/move.hpp&gt;</span>
+<a name="l00058"></a>00058 <span class="preprocessor"> #define BOOST_XINT_COPY_ASSIGN_REF(type) BOOST_COPY_ASSIGN_REF(type)</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_COPYABLE_AND_MOVABLE(type) BOOST_COPYABLE_AND_MOVABLE(type)</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_RV_REF(type) BOOST_RV_REF(type)</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_MOVE(value) boost::move(value)</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_FORWARD(type, value) boost::forward&lt;type&gt;(value)</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00064"></a><a class="code" href="classdisable__boost__rv__ref.html">00064</a> <span class="preprocessor"></span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">class </span><a class="code" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>: <span class="keyword">public</span> T { };
+<a name="l00065"></a><a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">00065</a> <span class="preprocessor"> #define BOOST_XINT_COPY_ASSIGN_REF(type) const type&amp;</span>
+<a name="l00066"></a><a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">00066</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_COPYABLE_AND_MOVABLE(type)</span>
+<a name="l00067"></a><a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">00067</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_RV_REF(type) disable_boost_rv_ref&lt;type&gt;</span>
+<a name="l00068"></a><a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">00068</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_MOVE(value) value</span>
+<a name="l00069"></a><a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">00069</a> <span class="preprocessor"></span><span class="preprocessor"> #define BOOST_XINT_FORWARD(type, value) value</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="keyword">namespace </span>boost {
+<a name="l00073"></a>00073
+<a name="l00075"></a>00075 <span class="keyword">namespace </span>xint {
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">class </span>integer;
+<a name="l00078"></a>00078 <span class="keyword">class </span>nothrow_integer;
+<a name="l00079"></a>00079 <span class="keyword">class </span>fixed_integer_any;
+<a name="l00080"></a><a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">00080</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>;
+<a name="l00081"></a>00081
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> boost::function&lt;bool ()&gt; <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>;
+<a name="l00086"></a>00086
+<a name="l00090"></a><a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">00090</a> <span class="keyword">typedef</span> std::vector&lt;unsigned char&gt; <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a>;
+<a name="l00091"></a>00091
+<a name="l00095"></a><a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">00095</a> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>;
+<a name="l00096"></a>00096
+<a name="l00100"></a><a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">00100</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>=(std::numeric_limits&lt;size_t&gt;::max)();
+<a name="l00101"></a>00101
+<a name="l00103"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html">00103</a> <span class="keyword">namespace </span>detail {
+<a name="l00105"></a>00105
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> boost::uintmax_t doubledigit_t;
+<a name="l00112"></a>00112
+<a name="l00118"></a>00118 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
+<a name="l00119"></a>00119 digit_t;
+<a name="l00120"></a>00120
+<a name="l00123"></a>00123 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bits_per_digit = std::numeric_limits&lt;digit_t&gt;::digits;
+<a name="l00124"></a>00124 <span class="keyword">const</span> <span class="keywordtype">size_t</span> digits_in_uintmax =
+<a name="l00125"></a>00125 (std::numeric_limits&lt;boost::uintmax_t&gt;::digits + bits_per_digit - 1) /
+<a name="l00126"></a>00126 bits_per_digit;
+<a name="l00127"></a>00127 <span class="keyword">const</span> digit_t digit_hibit = (digit_t(1) &lt;&lt; (bits_per_digit-1));
+<a name="l00128"></a>00128 <span class="keyword">const</span> doubledigit_t doubledigit_hibit = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1));
+<a name="l00129"></a>00129 <span class="keyword">const</span> doubledigit_t digit_overflowbit = (doubledigit_t(1) &lt;&lt; bits_per_digit);
+<a name="l00130"></a>00130 <span class="keyword">const</span> digit_t digit_mask = digit_t(digit_overflowbit-1);
+<a name="l00132"></a>00132
+<a name="l00134"></a>00134 <span class="keyword">const</span> <span class="keyword">extern</span> std::string nan_text;
+<a name="l00135"></a>00135
+<a name="l00137"></a>00137 <span class="keyword">struct </span>data_t {
+<a name="l00138"></a>00138 <span class="keywordtype">size_t</span> copies, length, max_length;
+<a name="l00139"></a>00139 digit_t fixed_mask;
+<a name="l00140"></a>00140 digit_t magnitude[1];
+<a name="l00141"></a>00141 };
 <a name="l00142"></a>00142
-<a name="l00144"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html">00144</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> {
-<a name="l00145"></a>00145 <span class="keyword">public</span>:
-<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>();
-<a name="l00147"></a>00147
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(<span class="keywordtype">size_t</span> index) <span class="keyword">const</span>;
-<a name="l00151"></a>00151 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(<span class="keywordtype">size_t</span> index, <span class="keywordtype">bool</span>) <span class="keyword">const</span>;
-<a name="l00152"></a>00152 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>* <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>();
-<a name="l00153"></a>00153 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>* <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() <span class="keyword">const</span>;
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() <span class="keyword">const</span>;
-<a name="l00156"></a>00156 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() <span class="keyword">const</span>;
-<a name="l00157"></a>00157 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(<span class="keywordtype">size_t</span> digits);
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() <span class="keyword">const</span>;
+<a name="l00145"></a>00145 <span class="keywordtype">void</span> zero(digit_t *p, digit_t *end);
+<a name="l00146"></a>00146 <span class="keywordtype">void</span> zero(digit_t *p, <span class="keywordtype">size_t</span> size);
+<a name="l00147"></a>00147 data_t *allocate(<span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length=
+<a name="l00148"></a>00148 (std::numeric_limits&lt;size_t&gt;::max)(), digit_t fixed_mask=0);
+<a name="l00149"></a>00149 data_t *allocate_fixed(digit_t mask, <span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length=
+<a name="l00150"></a>00150 (std::numeric_limits&lt;size_t&gt;::max)());
+<a name="l00151"></a>00151 data_t *allocate_fixed_zero(digit_t mask, <span class="keywordtype">size_t</span> max_digits);
+<a name="l00152"></a>00152 data_t *reallocate(data_t *olddata, <span class="keywordtype">size_t</span> newsize);
+<a name="l00153"></a>00153 data_t *duplicate(data_t *olddata, <span class="keywordtype">size_t</span> extra=0);
+<a name="l00154"></a>00154 data_t *duplicate(data_t *olddata, data_t *data_to_copy, <span class="keywordtype">size_t</span> extra=0);
+<a name="l00155"></a>00155 <span class="keywordtype">void</span> deallocate(data_t *data);
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">class </span>temp_t;
+<a name="l00159"></a>00159 <span class="keyword">class </span>base_variable_length_integer;
 <a name="l00160"></a>00160
-<a name="l00161"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">00161</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (data==0); };
-<a name="l00162"></a>00162 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() <span class="keyword">const</span>;
-<a name="l00163"></a>00163 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() <span class="keyword">const</span>;
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() <span class="keyword">const</span>;
-<a name="l00166"></a>00166 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() <span class="keyword">const</span>;
-<a name="l00167"></a>00167 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() <span class="keyword">const</span>;
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() <span class="keyword">const</span>;
-<a name="l00170"></a>00170 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() <span class="keyword">const</span>;
-<a name="l00171"></a>00171 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keywordtype">bool</span> neg);
-<a name="l00172"></a>00172 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>();
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(<span class="keywordtype">size_t</span> new_digit_count);
-<a name="l00175"></a>00175 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
-<a name="l00176"></a>00176 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; copy);
-<a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
-<a name="l00179"></a>00179 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
-<a name="l00180"></a>00180 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n);
-<a name="l00181"></a>00181 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n);
+<a name="l00162"></a>00162 <span class="keyword">class </span>base_integer {
+<a name="l00163"></a>00163 <span class="keyword">public</span>:
+<a name="l00164"></a>00164 ~base_integer();
+<a name="l00165"></a>00165
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 detail::digit_t _get_digit(<span class="keywordtype">size_t</span> index) <span class="keyword">const</span>;
+<a name="l00169"></a>00169 detail::digit_t _get_digit(<span class="keywordtype">size_t</span> index, <span class="keywordtype">bool</span>) <span class="keyword">const</span>;
+<a name="l00170"></a>00170 detail::digit_t* _get_writable_digits();
+<a name="l00171"></a>00171 <span class="keyword">const</span> detail::digit_t* _get_digits() <span class="keyword">const</span>;
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keywordtype">size_t</span> _get_length() <span class="keyword">const</span>;
+<a name="l00174"></a>00174 <span class="keywordtype">size_t</span> _get_max_length() <span class="keyword">const</span>;
+<a name="l00175"></a>00175 <span class="keywordtype">void</span> _set_length(<span class="keywordtype">size_t</span> digits);
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="keywordtype">size_t</span> _log2() <span class="keyword">const</span>;
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keywordtype">bool</span> _is_nan()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (data==0); };
+<a name="l00180"></a>00180 <span class="keywordtype">bool</span> _is_unique() <span class="keyword">const</span>;
+<a name="l00181"></a>00181 <span class="keywordtype">bool</span> _is_zero() <span class="keyword">const</span>;
 <a name="l00182"></a>00182
-<a name="l00183"></a>00183 <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_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() <span class="keyword">const</span>;
-<a name="l00184"></a>00184 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n);
-<a name="l00185"></a>00185 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, <span class="keywordtype">bool</span> negative=<span class="keyword">false</span>);
+<a name="l00183"></a>00183 <span class="keywordtype">bool</span> _is_fixed() <span class="keyword">const</span>;
+<a name="l00184"></a>00184 <span class="keywordtype">size_t</span> _fixed_digits() <span class="keyword">const</span>;
+<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">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>();
-<a name="l00188"></a>00188 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; other);
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keyword">protected</span>:
-<a name="l00192"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">00192</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>;
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>();
-<a name="l00195"></a>00195 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; c, <span class="keywordtype">bool</span> fixed);
-<a name="l00196"></a>00196 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *adopt, <span class="keywordtype">bool</span> neg=<span class="keyword">false</span>);
-<a name="l00197"></a>00197 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>(<span class="keywordtype">size_t</span> count, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask);
-<a name="l00198"></a>00198 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *new_data, <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> flags=0, <span class="keywordtype">size_t</span>
-<a name="l00199"></a>00199 extra_allocation=0);
+<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&amp; 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&amp; n);
+<a name="l00199"></a>00199 <span class="keywordtype">void</span> _subtract(<span class="keyword">const</span> base_integer&amp; n);
 <a name="l00200"></a>00200
-<a name="l00201"></a>00201 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
-<a name="l00202"></a>00202
-<a name="l00203"></a>00203 <span class="keyword">protected</span>:
-<a name="l00204"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">00204</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a> = 0x01;
-<a name="l00205"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">00205</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a> = 0x02;
-<a name="l00206"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">00206</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a> = 0x04;
-<a name="l00207"></a>00207
-<a name="l00208"></a>00208 <span class="keyword">private</span>:
-<a name="l00209"></a>00209 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> flags;
-<a name="l00210"></a>00210 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *data;
+<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="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
+<a name="l00205"></a>00205 <span class="keywordtype">void</span> _make_unique();
+<a name="l00206"></a>00206 <span class="keywordtype">void</span> _swap(base_integer&amp; other);
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">protected</span>:
+<a name="l00210"></a>00210 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flag_t;
 <a name="l00211"></a>00211
-<a name="l00212"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">00212</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html" title="Makes a temporary integer that can always share storage.">temp_t</a>;
-<a name="l00213"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">00213</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a>;
-<a name="l00214"></a>00214 };
-<a name="l00215"></a>00215
-<a name="l00217"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html">00217</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html" title="Makes a temporary integer that can always share storage.">temp_t</a>: <span class="keyword">public</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> {
-<a name="l00218"></a>00218 <span class="keyword">public</span>:
-<a name="l00219"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">00219</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">temp_t</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; b) {
-<a name="l00220"></a>00220 flags = b.flags;
-<a name="l00221"></a>00221 data = b.data;
-<a name="l00222"></a>00222 ++data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>;
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
-<a name="l00226"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html#af26e03a868dee0812996555dc0ca2aa0">00226</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">temp_t</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; b, <span class="keywordtype">size_t</span> realloc_size):
-<a name="l00227"></a>00227 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(b.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>()
-<a name="l00228"></a>00228 ? <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a>(b.data-&gt;fixed_mask, b.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>(), realloc_size)
-<a name="l00229"></a>00229 : <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a>(realloc_size)) { }
-<a name="l00230"></a>00230 };
-<a name="l00231"></a>00231
-<a name="l00233"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1neg__t.html">00233</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1neg__t.html" title="Makes a negated temporary integer that can always share storage.">neg_t</a>: <span class="keyword">public</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html" title="Makes a temporary integer that can always share storage.">temp_t</a> {
-<a name="l00234"></a>00234 <span class="keyword">public</span>:
-<a name="l00235"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">00235</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">neg_t</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; b): <a class="code" href="classboost_1_1xint_1_1detail_1_1temp__t.html" title="Makes a temporary integer that can always share storage.">temp_t</a>(b) {
-<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>();
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238 };
-<a name="l00239"></a>00239
-<a name="l00241"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">00241</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a>: <span class="keyword">public</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> {
-<a name="l00242"></a>00242 <span class="keyword">protected</span>:
-<a name="l00243"></a>00243 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>();
-<a name="l00244"></a>00244 };
-<a name="l00245"></a>00245
-<a name="l00247"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">00247</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html" title="Used internally to reorder bits into different-sized groupings.">bitqueue_t</a> {
-<a name="l00248"></a>00248 <span class="keyword">public</span>:
-<a name="l00249"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">00249</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">bitqueue_t</a>(): bits_pending(0) { }
-<a name="l00250"></a>00250 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a9c77b31a13dd08ae79a087b27a414cbf">push</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> bits, <span class="keywordtype">size_t</span> count);
-<a name="l00251"></a>00251 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abb4ca67f80032f3a9f76981e8c8381cd">pop</a>(<span class="keywordtype">size_t</span> requestedbits);
-<a name="l00252"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">00252</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pending.empty(); }
-<a name="l00253"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">00253</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits_pending; }
-<a name="l00254"></a>00254
-<a name="l00255"></a>00255 <span class="keyword">private</span>:
-<a name="l00256"></a>00256 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> ddbits = std::numeric_limits&lt;doubledigit_t&gt;::digits;
-<a name="l00257"></a>00257 <span class="keyword">typedef</span> std::pair&lt;doubledigit_t, size_t&gt; indata_t;
-<a name="l00258"></a>00258 <span class="keyword">typedef</span> std::queue&lt;indata_t&gt; inqueue_t;
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 <span class="keywordtype">size_t</span> bits_pending;
-<a name="l00261"></a>00261 inqueue_t pending;
+<a name="l00212"></a>00212 base_integer();
+<a name="l00213"></a>00213 base_integer(<span class="keyword">const</span> base_integer&amp; 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="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keywordtype">void</span> _set_readonly();
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 <span class="keyword">protected</span>:
+<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&amp; b) {
+<a name="l00238"></a>00238 flags = b.flags;
+<a name="l00239"></a>00239 data = b.data;
+<a name="l00240"></a>00240 ++data-&gt;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&amp; 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-&gt;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&amp; 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="l00264"></a>00264 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> &amp;b1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> &amp;b2, <span class="keywordtype">bool</span>
-<a name="l00265"></a>00265 ignoresign=<span class="keyword">false</span>);
-<a name="l00266"></a>00266 std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase);
-<a name="l00267"></a>00267 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">from_string</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base);
-<a name="l00268"></a>00268 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n2);
-<a name="l00269"></a>00269 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">subtract</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00270"></a>00270 n2);
-<a name="l00271"></a>00271 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00272"></a>00272 n2);
-<a name="l00273"></a>00273 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; qtarget, <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; rtarget, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00274"></a>00274 n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n2);
-<a name="l00275"></a>00275 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00276"></a>00276 n2);
-<a name="l00277"></a>00277 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">sqr</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n);
-<a name="l00278"></a>00278 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">pow</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; e);
-<a name="l00279"></a>00279 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">factorial</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keywordtype">size_t</span> n);
-<a name="l00280"></a>00280 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">sqrt</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n);
-<a name="l00281"></a>00281 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00282"></a>00282 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">setbit</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00283"></a>00283 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00284"></a>00284 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero);
-<a name="l00285"></a>00285 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero);
-<a name="l00286"></a>00286 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">bitwise_and</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span>
-<a name="l00287"></a>00287 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n2);
-<a name="l00288"></a>00288 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">bitwise_or</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span>
-<a name="l00289"></a>00289 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n2);
-<a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">bitwise_xor</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span>
-<a name="l00291"></a>00291 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n2);
-<a name="l00292"></a>00292 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">shift_left</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00293"></a>00293 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">shift_right</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00294"></a>00294 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">to_binary</a>(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keywordtype">size_t</span> bits);
-<a name="l00295"></a>00295 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">from_binary</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; s, <span class="keywordtype">size_t</span> bits);
-<a name="l00296"></a>00296 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">gcd</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00297"></a>00297 num2);
-<a name="l00298"></a>00298 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">lcm</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00299"></a>00299 num2);
-<a name="l00300"></a>00300 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">mod</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp;
-<a name="l00301"></a>00301 n2);
-<a name="l00302"></a>00302 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">invmod</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; m);
-<a name="l00303"></a>00303 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">powmod</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; target, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; e,
-<a name="l00304"></a>00304 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; m, <span class="keywordtype">bool</span> noMontgomery);
-<a name="l00305"></a>00305
-<a name="l00306"></a>00306 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">log10_bits</a>(<span class="keywordtype">size_t</span> bits);
-<a name="l00307"></a>00307
-<a name="l00308"></a>00308 } <span class="comment">// namespace detail</span>
-<a name="l00309"></a>00309
-<a name="l00314"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html">00314</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::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a> {
-<a name="l00315"></a>00315 <span class="keyword">public</span>:
-<a name="l00322"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">00322</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00323"></a>00323 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00324"></a>00324 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0):
-<a name="l00325"></a>00325 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(detail::<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">digits_in_uintmax</a>, detail::<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>)
-<a name="l00326"></a>00326 { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n); }
-<a name="l00327"></a>00327
-<a name="l00328"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">00328</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00329"></a>00329 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00330"></a>00330 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0):
-<a name="l00331"></a>00331 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(detail::<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">digits_in_uintmax</a>, detail::<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>)
-<a name="l00332"></a>00332 { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n); }
-<a name="l00333"></a>00333
-<a name="l00334"></a>00334 <span class="keyword">protected</span>:
-<a name="l00335"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">00335</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, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> mask):
-<a name="l00336"></a>00336 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(count, mask) { }
-<a name="l00337"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">00337</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">detail::data_t</a> *adopt, <span class="keywordtype">bool</span> neg=<span class="keyword">false</span>):
-<a name="l00338"></a>00338 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(adopt, neg) { }
-<a name="l00339"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">00339</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>&amp; c):
-<a name="l00340"></a>00340 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>(c, true) { }
-<a name="l00341"></a>00341 };
-<a name="l00342"></a>00342
-<a name="l00345"></a>00345 <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="l00346"></a>00346 <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="l00348"></a>00348
-<a name="l00355"></a>00355 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
-<a name="l00356"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html">00356</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="l00357"></a>00357 <span class="keyword">public</span>:
-<a name="l00358"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">00358</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>() { }
-<a name="l00359"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">00359</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">base_divide_t</a>(<span class="keyword">const</span> T&amp; q, <span class="keyword">const</span> T&amp; 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="l00360"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa9f43e464f328b0cc618f67e6e4d1d6f">00360</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&lt;T&gt;</a>&amp; copy):
-<a name="l00361"></a>00361 <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="l00362"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">00362</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="l00363"></a>00363 <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="l00364"></a>00364
-<a name="l00365"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">00365</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>&amp; <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="l00366"></a>00366 { <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="l00367"></a>00367 *<span class="keyword">this</span>; }
-<a name="l00368"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">00368</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>&amp; <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="l00369"></a>00369 <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="l00370"></a>00370 *<span class="keyword">this</span>; }
-<a name="l00371"></a>00371
-<a name="l00372"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">00372</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="l00373"></a>00373
-<a name="l00374"></a>00374 <span class="keyword">private</span>:
-<a name="l00375"></a>00375 <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="l00376"></a>00376 };
-<a name="l00377"></a>00377
-<a name="l00378"></a>00378 } <span class="comment">// namespace xint</span>
-<a name="l00379"></a>00379 } <span class="comment">// namespace boost</span>
-<a name="l00380"></a>00380
-<a name="l00382"></a>00382 <span class="comment">// Template functions</span>
+<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&lt;doubledigit_t&gt;::digits;
+<a name="l00275"></a>00275 <span class="keyword">typedef</span> std::pair&lt;doubledigit_t, size_t&gt; indata_t;
+<a name="l00276"></a>00276 <span class="keyword">typedef</span> std::queue&lt;indata_t&gt; 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 &amp;b1, <span class="keyword">const</span> base_integer &amp;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&amp; 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&amp; target, <span class="keyword">const</span> std::string&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp; n2);
+<a name="l00287"></a>00287 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span> base_integer&amp;
+<a name="l00292"></a>00292 n1, <span class="keyword">const</span> base_integer&amp; n2);
+<a name="l00293"></a>00293 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n);
+<a name="l00296"></a>00296 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; 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&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; 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&amp; 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&amp; 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&amp; 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&amp; 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&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00305"></a>00305 base_integer&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00307"></a>00307 base_integer&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00309"></a>00309 base_integer&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; 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>&amp; target, <span class="keyword">const</span> base_integer&amp; 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&amp; target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; num1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; 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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; e,
+<a name="l00322"></a>00322 <span class="keyword">const</span> base_integer&amp; 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> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00342"></a>00342 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00343"></a>00343 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::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> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00348"></a>00348 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00349"></a>00349 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::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>&amp; 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> &lt;<span class="keyword">class</span> T&gt;
+<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&amp; q, <span class="keyword">const</span> T&amp; 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&lt;T&gt;</a>&amp; 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>00384 <span class="preprocessor">#include &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</span>
-<a name="l00385"></a>00385
-<a name="l00386"></a>00386 <span class="keyword">namespace </span>boost {
-<a name="l00387"></a>00387 <span class="keyword">namespace </span>xint {
-<a name="l00388"></a>00388 <span class="keyword">namespace </span>detail {
-<a name="l00389"></a>00389
-<a name="l00390"></a>00390 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00391"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">00391</a> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">log2</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00392"></a>00392 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00393"></a>00393 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0)
-<a name="l00394"></a>00394 {
-<a name="l00395"></a>00395 <span class="keywordtype">size_t</span> lo=0, hi=std::numeric_limits&lt;T&gt;::digits;
-<a name="l00396"></a>00396 <span class="keywordflow">while</span> (lo &lt; hi) {
-<a name="l00397"></a>00397 <span class="keywordtype">size_t</span> s = lo + ((hi - lo) &gt;&gt; 1);
-<a name="l00398"></a>00398 <span class="keywordflow">if</span> (n &gt;= (T(1) &lt;&lt; s)) lo = s + 1;
-<a name="l00399"></a>00399 <span class="keywordflow">else</span> hi = s;
-<a name="l00400"></a>00400 }
-<a name="l00401"></a>00401 <span class="keywordflow">return</span> lo;
-<a name="l00402"></a>00402 }
-<a name="l00403"></a>00403
-<a name="l00404"></a>00404 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00405"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3c6ea7edbed003bc5ed8254fd2f12ac5">00405</a> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">log2</a>(<span class="keyword">const</span> T&amp; nn,
-<a name="l00406"></a>00406 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00407"></a>00407 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0)
-<a name="l00408"></a>00408 {
-<a name="l00409"></a>00409 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::make_unsigned&lt;T&gt;::type uT;
-<a name="l00410"></a>00410 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">log2</a>(static_cast&lt;uT&gt;(nn &lt; 0 ? -nn : nn));
-<a name="l00411"></a>00411 }
-<a name="l00412"></a>00412
-<a name="l00413"></a>00413 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00414"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">00414</a> T <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n) {
-<a name="l00415"></a>00415 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(n, <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>((std::numeric_limits&lt;T&gt;::min)())) &lt; 0
-<a name="l00416"></a>00416 || <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(n, <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>((std::numeric_limits&lt;T&gt;::max)())) &gt; 0)
-<a name="l00417"></a>00417 <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">exceptions::too_big</a>(<span class="stringliteral">&quot;value out of range for requested &quot;</span>
-<a name="l00418"></a>00418 <span class="stringliteral">&quot;conversion&quot;</span>);
-<a name="l00419"></a>00419
-<a name="l00420"></a>00420 T rval = 0;
-<a name="l00421"></a>00421 <span class="keywordtype">size_t</span> len=n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>();
-<a name="l00422"></a>00422 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x&lt;len; ++x) {
-<a name="l00423"></a>00423 <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) &gt; <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>)) rval &lt;&lt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>;
-<a name="l00424"></a>00424 rval += <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(len - x - 1));
-<a name="l00425"></a>00425 }
-<a name="l00426"></a>00426 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) rval = -rval; <span class="comment">// Bogus MSVC warning C4146</span>
-<a name="l00427"></a>00427 <span class="keywordflow">return</span> rval;
-<a name="l00428"></a>00428 }
-<a name="l00429"></a>00429
-<a name="l00430"></a>00430 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00431"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">00431</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00432"></a>00432 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n)
-<a name="l00433"></a>00433 {
-<a name="l00434"></a>00434 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
-<a name="l00435"></a>00435 : (out.flags() &amp; std::ios::oct) ? 8
-<a name="l00436"></a>00436 : 10);
-<a name="l00437"></a>00437 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00438"></a>00438
-<a name="l00439"></a>00439 <span class="keywordtype">int</span> nsign = (n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() ? 0 : n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> ((out.flags() &amp; std::ios::showpos) &amp;&amp; nsign &gt;= 0) out &lt;&lt; <span class="stringliteral">&quot;+&quot;</span>;
-<a name="l00441"></a>00441
-<a name="l00442"></a>00442 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
-<a name="l00443"></a>00443 <span class="keywordflow">if</span> (nsign &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
-<a name="l00444"></a>00444
-<a name="l00445"></a>00445 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
-<a name="l00446"></a>00446 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
-<a name="l00447"></a>00447 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00448"></a>00448
-<a name="l00449"></a>00449 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) {
-<a name="l00450"></a>00450 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a>(<a class="code" href="classboost_1_1xint_1_1detail_1_1neg__t.html" title="Makes a negated temporary integer that can always share storage.">neg_t</a>(n), base, upperCase);
-<a name="l00451"></a>00451 } <span class="keywordflow">else</span> {
-<a name="l00452"></a>00452 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a>(n, base, upperCase);
-<a name="l00453"></a>00453 }
-<a name="l00454"></a>00454 } <span class="keywordflow">else</span> {
-<a name="l00455"></a>00455 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a>(n, base, upperCase);
-<a name="l00456"></a>00456 }
-<a name="l00457"></a>00457 <span class="keywordflow">return</span> out;
-<a name="l00458"></a>00458 }
+<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>&amp; <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>&amp; <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 &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</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> &lt;<span class="keyword">typename</span> T&gt;
+<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&amp; n,
+<a name="l00413"></a>00413 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00414"></a>00414 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0)
+<a name="l00415"></a>00415 {
+<a name="l00416"></a>00416 <span class="keywordtype">size_t</span> lo=0, hi=std::numeric_limits&lt;T&gt;::digits;
+<a name="l00417"></a>00417 <span class="keywordflow">while</span> (lo &lt; hi) {
+<a name="l00418"></a>00418 <span class="keywordtype">size_t</span> s = lo + ((hi - lo) &gt;&gt; 1);
+<a name="l00419"></a>00419 <span class="keywordflow">if</span> (n &gt;= (T(1) &lt;&lt; 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> &lt;<span class="keyword">typename</span> T&gt;
+<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&amp; nn,
+<a name="l00427"></a>00427 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00428"></a>00428 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::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&lt;T&gt;::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&lt;uT&gt;(nn &lt; 0 ? -nn : nn));
+<a name="l00432"></a>00432 }
+<a name="l00433"></a>00433
+<a name="l00434"></a>00434 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00435"></a>00435 T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> base_integer&amp; 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&lt;T&gt;::min)())) &lt; 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&lt;T&gt;::max)())) &gt; 0)
+<a name="l00438"></a>00438 <span class="keywordflow">throw</span> exceptions::too_big(<span class="stringliteral">&quot;value out of range for requested &quot;</span>
+<a name="l00439"></a>00439 <span class="stringliteral">&quot;conversion&quot;</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&lt;len; ++x) {
+<a name="l00444"></a>00444 <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) &gt; <span class="keyword">sizeof</span>(detail::digit_t)) rval &lt;&lt;= detail::bits_per_digit;
+<a name="l00445"></a>00445 rval += <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</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> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00452"></a>00452 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00453"></a>00453 traits&gt;&amp; out, <span class="keyword">const</span> base_integer&amp; n)
+<a name="l00454"></a>00454 {
+<a name="l00455"></a>00455 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
+<a name="l00456"></a>00456 : (out.flags() &amp; std::ios::oct) ? 8
+<a name="l00457"></a>00457 : 10);
+<a name="l00458"></a>00458 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; 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="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00461"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">00461</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00462"></a>00462 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; n)
-<a name="l00463"></a>00463 {
-<a name="l00464"></a>00464 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
-<a name="l00465"></a>00465 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
-<a name="l00466"></a>00466 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
-<a name="l00467"></a>00467 <span class="keywordtype">int</span> count=hex+dec+oct;
-<a name="l00468"></a>00468
-<a name="l00469"></a>00469 <span class="keywordtype">size_t</span> base=<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>;
-<a name="l00470"></a>00470 <span class="keywordflow">if</span> (count==1) {
-<a name="l00471"></a>00471 <span class="keywordflow">if</span> (hex) base=16;
-<a name="l00472"></a>00472 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
-<a name="l00473"></a>00473 <span class="keywordflow">else</span> base=10;
-<a name="l00474"></a>00474 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count&gt;1) base=10;
-<a name="l00475"></a>00475 <span class="comment">// else auto-base</span>
-<a name="l00476"></a>00476
-<a name="l00477"></a>00477 std::string s;
-<a name="l00478"></a>00478 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;+&#39;</span>) {
-<a name="l00479"></a>00479 in.ignore();
-<a name="l00480"></a>00480 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;-&#39;</span>) {
-<a name="l00481"></a>00481 in.ignore();
-<a name="l00482"></a>00482 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
-<a name="l00483"></a>00483 }
-<a name="l00484"></a>00484
-<a name="l00485"></a>00485 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
-<a name="l00486"></a>00486 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00487"></a>00487 in.ignore();
-<a name="l00488"></a>00488 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00489"></a>00489 <span class="keywordflow">if</span> (c==<span class="charliteral">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00490"></a>00490 in.ignore();
-<a name="l00491"></a>00491 base=16;
-<a name="l00492"></a>00492 } <span class="keywordflow">else</span> base=8;
-<a name="l00493"></a>00493 } <span class="keywordflow">else</span> base=10;
-<a name="l00494"></a>00494 }
-<a name="l00495"></a>00495
-<a name="l00496"></a>00496 <span class="keywordflow">while</span> (in) {
-<a name="l00497"></a>00497 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00498"></a>00498 <span class="keywordflow">if</span> ((base==8 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
-<a name="l00499"></a>00499 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
-<a name="l00500"></a>00500 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
-<a name="l00501"></a>00501 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</span>))))
-<a name="l00502"></a>00502 {
-<a name="l00503"></a>00503 in.ignore();
-<a name="l00504"></a>00504 s.push_back(<span class="keywordtype">char</span>(c));
-<a name="l00505"></a>00505 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00506"></a>00506 }
-<a name="l00507"></a>00507
-<a name="l00508"></a>00508 <span class="keywordflow">try</span> {
-<a name="l00509"></a>00509 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(n, s, base);
-<a name="l00510"></a>00510 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00511"></a>00511 <span class="comment">// Catch invalid strings</span>
-<a name="l00512"></a>00512 in.setstate(std::ios::failbit);
-<a name="l00513"></a>00513 }
-<a name="l00514"></a>00514
-<a name="l00515"></a>00515 <span class="keywordflow">return</span> in;
-<a name="l00516"></a>00516 }
-<a name="l00517"></a>00517
-<a name="l00518"></a>00518 } <span class="comment">// namespace detail</span>
-<a name="l00519"></a>00519 } <span class="comment">// namespace xint</span>
-<a name="l00520"></a>00520 } <span class="comment">// namespace boost</span>
-<a name="l00521"></a>00521
-<a name="l00522"></a>00522 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
+<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() &amp; std::ios::showpos) &amp;&amp; nsign &gt;= 0) out &lt;&lt; <span class="stringliteral">&quot;+&quot;</span>;
+<a name="l00462"></a>00462
+<a name="l00463"></a>00463 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
+<a name="l00464"></a>00464 <span class="keywordflow">if</span> (nsign &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
+<a name="l00465"></a>00465
+<a name="l00466"></a>00466 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
+<a name="l00467"></a>00467 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
+<a name="l00468"></a>00468 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</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 &lt;&lt; <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 &lt;&lt; <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 &lt;&lt; <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> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00482"></a>00482 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00483"></a>00483 traits&gt;&amp; in, base_integer&amp; n)
+<a name="l00484"></a>00484 {
+<a name="l00485"></a>00485 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
+<a name="l00486"></a>00486 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
+<a name="l00487"></a>00487 <span class="keywordtype">int</span> oct=(in.flags() &amp; 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&gt;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">&#39;+&#39;</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">&#39;-&#39;</span>) {
+<a name="l00502"></a>00502 in.ignore();
+<a name="l00503"></a>00503 s.push_back(<span class="charliteral">&#39;-&#39;</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">&#39;0&#39;</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">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</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 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
+<a name="l00520"></a>00520 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
+<a name="l00521"></a>00521 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
+<a name="l00522"></a>00522 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</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&amp;) {
+<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>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/misc_8cpp.html (original)
+++ sandbox/xint/doc/misc_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/modular_8cpp.html (original)
+++ sandbox/xint/doc/modular_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,18 +38,11 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail::mod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail::powmod</a> (base_integer &amp;target, const base_integer &amp;_n, const base_integer &amp;_e, const base_integer &amp;_m, bool noMontgomery)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
@@ -64,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -42,87 +42,87 @@
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
 <a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">mod</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; m) {
-<a name="l00030"></a>00030 integer q;
-<a name="l00031"></a>00031 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(q, target, n, m);
-<a name="l00032"></a>00032 <span class="keywordflow">if</span> (target._get_negative()) {
-<a name="l00033"></a>00033 temp_t mm(m);
-<a name="l00034"></a>00034 mm._set_negative(<span class="keyword">false</span>);
-<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a>(target, target, mm);
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037 }
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">powmod</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; _n, <span class="keyword">const</span> base_integer&amp;
-<a name="l00040"></a>00040 _e, <span class="keyword">const</span> base_integer&amp; _m, <span class="keywordtype">bool</span> noMontgomery)
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (_m._is_zero() || _m._get_negative()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (_e._is_zero()) {
-<a name="l00044"></a>00044 target._set_unsigned(1);
-<a name="l00045"></a>00045 <span class="keywordflow">return</span>;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 integer n(_n._to_integer()), e(_e._to_integer()), m(_m._to_integer()),
-<a name="l00049"></a>00049 answer(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
-<a name="l00050"></a>00050 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; e.odd());
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
-<a name="l00053"></a>00053 <span class="comment">// m is odd.</span>
-<a name="l00054"></a>00054 <span class="keywordflow">if</span> (m.odd() &amp;&amp; !noMontgomery) {
-<a name="l00055"></a>00055 answer = <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n) % m, <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(e), m);
-<a name="l00056"></a>00056 } <span class="keywordflow">else</span> {
-<a name="l00057"></a>00057 integer p(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n));
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
-<a name="l00060"></a>00060 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(length-1));
-<a name="l00061"></a>00061 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
-<a name="l00064"></a>00064 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(eIndex));
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
-<a name="l00067"></a>00067 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>));
-<a name="l00068"></a>00068 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
-<a name="l00069"></a>00069 <span class="keywordflow">if</span> (ee &amp; 0x01) answer=<a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(answer, p, m);
-<a name="l00070"></a>00070 p=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(p, m);
-<a name="l00071"></a>00071 ee &gt;&gt;= 1;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 answer._set_negative(neg);
-<a name="l00077"></a>00077 target._attach(answer);
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 } <span class="comment">// namespace detail</span>
-<a name="l00081"></a>00081
-<a name="l00091"></a>00091 integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00092"></a>00092 integer r;
-<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00111"></a>00111 integer <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00129"></a>00129 integer <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00130"></a>00130 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
-<a name="l00156"></a>00156 integer <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m, <span class="keywordtype">bool</span>
-<a name="l00157"></a>00157 noMontgomery)
-<a name="l00158"></a>00158 {
-<a name="l00159"></a>00159 integer r;
-<a name="l00160"></a>00160 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
-<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 } <span class="comment">// namespace xint</span>
-<a name="l00165"></a>00165 } <span class="comment">// namespace boost</span>
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>detail {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; m) {
+<a name="l00031"></a>00031 integer q;
+<a name="l00032"></a>00032 <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(q, target, n, m);
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (target._get_negative()) {
+<a name="l00034"></a>00034 temp_t mm(m);
+<a name="l00035"></a>00035 mm._set_negative(<span class="keyword">false</span>);
+<a name="l00036"></a>00036 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(target, target, mm);
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <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&amp; target, <span class="keyword">const</span> base_integer&amp; _n, <span class="keyword">const</span> base_integer&amp;
+<a name="l00041"></a>00041 _e, <span class="keyword">const</span> base_integer&amp; _m, <span class="keywordtype">bool</span> noMontgomery)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (_m._is_zero() || _m._get_negative()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (_e._is_zero()) {
+<a name="l00045"></a>00045 target._set_unsigned(1);
+<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="l00051"></a>00051 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; e.odd());
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
+<a name="l00054"></a>00054 <span class="comment">// m is odd.</span>
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (m.odd() &amp;&amp; !noMontgomery) {
+<a name="l00056"></a>00056 answer = montgomeryPowerMod(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n) % m, <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(e), m);
+<a name="l00057"></a>00057 } <span class="keywordflow">else</span> {
+<a name="l00058"></a>00058 integer p(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n));
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
+<a name="l00061"></a>00061 detail::digit_t ee(e._get_digit(length-1));
+<a name="l00062"></a>00062 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
+<a name="l00065"></a>00065 detail::digit_t ee(e._get_digit(eIndex));
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
+<a name="l00068"></a>00068 detail::bits_per_digit));
+<a name="l00069"></a>00069 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
+<a name="l00070"></a>00070 <span class="keywordflow">if</span> (ee &amp; 0x01) answer=<a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(answer, p, m);
+<a name="l00071"></a>00071 p=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(p, m);
+<a name="l00072"></a>00072 ee &gt;&gt;= 1;
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<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="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 } <span class="comment">// namespace detail</span>
+<a name="l00083"></a>00083 <span class="comment"></span>
+<a name="l00093"></a>00093 integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00094"></a>00094 integer r;
+<a name="l00095"></a>00095 <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(r, n, m);
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00113"></a>00113 integer <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00131"></a>00131 integer <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00158"></a>00158 integer <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m, <span class="keywordtype">bool</span>
+<a name="l00159"></a>00159 noMontgomery)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 integer r;
+<a name="l00162"></a>00162 <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00163"></a>00163 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<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>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8cpp.html
==============================================================================
--- sandbox/xint/doc/monty_8cpp.html (original)
+++ sandbox/xint/doc/monty_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,69 +38,14 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td colspan="2"><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(p)&nbsp;&nbsp;&nbsp;(doubledigit_t(1) &lt;&lt; p)</td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Internally used functions. </p>
 <p>This file contains the definitions for functions based on the Montgomery Reduction, used internally for an extra-fast xint::powmod. </p>
 
 <p>Definition in file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-<hr/><h2>Define Documentation</h2>
-<a class="anchor" id="a5e044fcc16f6eb5e891ef312f47209ac"></a><!-- doxytag: member="monty.cpp::ddPowerOfTwo" ref="a5e044fcc16f6eb5e891ef312f47209ac" args="(p)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define ddPowerOfTwo</td>
- <td>(</td>
- <td class="paramtype">p&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td>&nbsp;&nbsp;&nbsp;(doubledigit_t(1) &lt;&lt; p)</td>
- </tr>
- </table>
 </div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00127">127</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a934de4c9ba95abb023be91f96559097d"></a><!-- doxytag: member="monty.cpp::mTable" ref="a934de4c9ba95abb023be91f96559097d" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::scoped_array&lt;value_t&gt; <a class="el" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00164">164</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -45,249 +45,247 @@
 <a name="l00027"></a>00027 <span class="keyword">namespace </span>boost {
 <a name="l00028"></a>00028 <span class="keyword">namespace </span>xint {
 <a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keyword">using namespace </span>detail;
-<a name="l00031"></a>00031
-<a name="l00033"></a>00033 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00034"></a>00034 <span class="comment">// Using the Dussé and Kalisk simplification</span>
-<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> x = 2, y = 1;
-<a name="l00036"></a>00036 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> n0 = n._get_digit(0);
-<a name="l00037"></a>00037 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 2; i &lt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>; ++i, x &lt;&lt;= 1)
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (x &lt; ((n0 * y) &amp; ((x &lt;&lt; 1) - 1)))
-<a name="l00039"></a>00039 y += x;
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(x - y);
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042
-<a name="l00046"></a>00046 integer <a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() &lt;&lt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * n._get_length());
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049
-<a name="l00051"></a>00051 integer <a class="code" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860" title="Returns the Montgomery form of a number. Used for testing.">toMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> (n * <a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(m) % m);
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054
-<a name="l00056"></a>00056 integer <a class="code" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4" title="Returns the integer from the Montgomery form of a number. Used for testing.">fromMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00057"></a>00057 integer inv=<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>(<a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(m), m);
-<a name="l00058"></a>00058 <span class="keywordflow">return</span> (n * inv % m);
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="comment">//integer montgomeryReduction(const integer&amp; m, const integer&amp; mPrime, const</span>
-<a name="l00062"></a>00062 <span class="comment">// integer&amp; T)</span>
-<a name="l00063"></a>00063 <span class="comment">//{</span>
-<a name="l00064"></a>00064 <span class="comment">// // Unstated parameter b is digit_overflowbit, a power of 2</span>
-<a name="l00065"></a>00065 <span class="comment">// // Unstated parameter n is m.data-&gt;mLength</span>
-<a name="l00066"></a>00066 <span class="comment">// // Unstated parameter R is b^n</span>
-<a name="l00067"></a>00067 <span class="comment">// // gcd(m, b)==1, or in other words, m must be an odd number</span>
-<a name="l00068"></a>00068 <span class="comment">// // m&#39;=-m^(-1) mod b (precalculated)</span>
-<a name="l00069"></a>00069 <span class="comment">// // T is any arbitrary number greater than zero and &lt;= m*R</span>
-<a name="l00070"></a>00070 <span class="comment">//</span>
-<a name="l00071"></a>00071 <span class="comment">// int n=m._get_data()-&gt;mLength;</span>
-<a name="l00072"></a>00072 <span class="comment">// doubledigit_t mprime = mPrime._get_data()-&gt;digits[0];</span>
-<a name="l00073"></a>00073 <span class="comment">//</span>
-<a name="l00074"></a>00074 <span class="comment">// integer A(T);</span>
-<a name="l00075"></a>00075 <span class="comment">// for (int i=0; i &lt; n; ++i) {</span>
-<a name="l00076"></a>00076 <span class="comment">// integer ui((A._get_data()-&gt;digits[i] * mprime) &amp; digit_mask);</span>
-<a name="l00077"></a>00077 <span class="comment">// ui &lt;&lt;= (bits_per_digit * i); // Fast-multiply by b^i</span>
-<a name="l00078"></a>00078 <span class="comment">// A+=(ui*m);</span>
-<a name="l00079"></a>00079 <span class="comment">// }</span>
-<a name="l00080"></a>00080 <span class="comment">// A &gt;&gt;= (bits_per_digit * n); // Fast-divide by b^n</span>
-<a name="l00081"></a>00081 <span class="comment">// if (A &gt;= m) A -= m;</span>
-<a name="l00082"></a>00082 <span class="comment">// return A;</span>
-<a name="l00083"></a>00083 <span class="comment">//}</span>
-<a name="l00084"></a>00084
-<a name="l00088"></a>00088 integer <a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; b, <span class="keyword">const</span> integer&amp;
-<a name="l00089"></a>00089 n, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> nPrime0)
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="comment">// Using the Dussé and Kalisk simplification</span>
-<a name="l00092"></a>00092 <span class="comment">// Unstated parameter B is a power of two representing the number of values</span>
-<a name="l00093"></a>00093 <span class="comment">// that a single digit can hold, i.e. digit_overflowbit</span>
-<a name="l00094"></a>00094 <span class="comment">// Unstated parameter L is the number of digits in the modulus, i.e.</span>
-<a name="l00095"></a>00095 <span class="comment">// n._get_length()</span>
-<a name="l00096"></a>00096 <span class="comment">// Unstated parameter r is B^L</span>
-<a name="l00097"></a>00097 <span class="comment">// nPrime0 is nPrime mod B, or digit zero of nPrime</span>
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">const</span> integer B(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>);
-<a name="l00100"></a>00100 <span class="keyword">const</span> <span class="keywordtype">size_t</span> L(n._get_length()), L1(L-1);
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 integer t=a*b;
-<a name="l00103"></a>00103 <span class="keywordtype">size_t</span> i=0;
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordflow">do</span> {
-<a name="l00106"></a>00106 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mi=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(t._get_digit(i))*nPrime0);
-<a name="l00107"></a>00107 t += (n * mi) &lt;&lt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * i);
-<a name="l00108"></a>00108 } <span class="keywordflow">while</span> (++i &lt;= L1);
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 t &gt;&gt;= (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * L); <span class="comment">// Fast divide by r</span>
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keywordflow">if</span> (t &gt;= n) <span class="keywordflow">return</span> t - n;
-<a name="l00113"></a>00113 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(t);
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 <span class="keyword">namespace </span>{
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="comment">// cMaxK sets the balance between memory/precalculations required and the number</span>
-<a name="l00119"></a>00119 <span class="comment">// of calculations required for an exponentiation. Increasing it can only reduce</span>
-<a name="l00120"></a>00120 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
-<a name="l00121"></a>00121 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
-<a name="l00122"></a>00122 <span class="comment">// provides a good balance.</span>
-<a name="l00123"></a>00123 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK=8;
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> boost::uint_t&lt;cMaxK&gt;::fast kbitdigit_t; <span class="comment">// k bits have to fit into it</span>
-<a name="l00125"></a>00125 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
-<a name="l00126"></a>00126 <span class="keyword">typedef</span> std::vector&lt;integer&gt; vxint_t;
-<a name="l00127"></a><a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">00127</a> <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
-<a name="l00128"></a>00128 <span class="preprocessor"></span>
-<a name="l00129"></a>00129 <span class="comment">// The splitIntoKBitDigits function assumes that cMaxK &lt;= bits_per_digit+1,</span>
-<a name="l00130"></a>00130 <span class="comment">// it won&#39;t work properly if it isn&#39;t.</span>
-<a name="l00131"></a>00131 BOOST_STATIC_ASSERT(cMaxK &lt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>+1);
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="keyword">class </span>TUTable {
-<a name="l00134"></a>00134 <span class="keyword">public</span>:
-<a name="l00135"></a>00135 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="keyword">const</span> value_t&amp; operator[](<span class="keywordtype">size_t</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[x]; }
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
-<a name="l00140"></a>00140 <span class="comment">// Construct a singleton instance on demand</span>
-<a name="l00141"></a>00141 <span class="keywordflow">if</span> (mPtr.get()==0) mPtr.reset(<span class="keyword">new</span> TUTable);
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> *mPtr;
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keyword">private</span>:
-<a name="l00146"></a>00146 TUTable(): <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>(new value_t[<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK)]) {
-<a name="l00147"></a>00147 value_t *p=&amp;<a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[0], *pe=p+<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK);
-<a name="l00148"></a>00148 *p++=std::make_pair(0, 0);
-<a name="l00149"></a>00149 <span class="keywordtype">int</span> i=1;
-<a name="l00150"></a>00150 <span class="keywordflow">while</span> (p!=pe) *p++=calculateValues(i++);
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 std::pair&lt;int, int&gt; calculateValues(<span class="keywordtype">int</span> x) {
-<a name="l00154"></a>00154 <span class="keywordtype">int</span> r=0;
-<a name="l00155"></a>00155 <span class="keywordflow">while</span> (1) {
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (x &amp; 0x01) <span class="keywordflow">return</span> std::make_pair(r, x);
-<a name="l00157"></a>00157 ++r;
-<a name="l00158"></a>00158 x &gt;&gt;= 1;
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="keyword">static</span> std::auto_ptr&lt;TUTable&gt; mPtr;
-<a name="l00163"></a>00163
-<a name="l00164"></a><a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">00164</a> boost::scoped_array&lt;value_t&gt; <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>;
-<a name="l00165"></a>00165 };
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 std::auto_ptr&lt;TUTable&gt; TUTable::mPtr;
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 <span class="keywordtype">int</span> mostEfficientK(<span class="keyword">const</span> integer&amp; e) {
-<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> k=cMaxK, kTarget=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e)-1;
-<a name="l00171"></a>00171 <span class="keywordflow">while</span> (k &gt; 1 &amp;&amp; ((k - 1) * (k &lt;&lt; ((k - 1) &lt;&lt; 1))
-<a name="l00172"></a>00172 / (<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k) - k - 1)) &gt;= kTarget)
-<a name="l00173"></a>00173 --k;
-<a name="l00174"></a>00174 <span class="keywordflow">return</span> int(k);
-<a name="l00175"></a>00175 }
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 vxint_t precalculateOddPowersOfAa(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp;
-<a name="l00178"></a>00178 r, <span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> k)
-<a name="l00179"></a>00179 {
-<a name="l00180"></a>00180 integer aa=a*r%n, aSquared=a*a%n;
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 vxint_t rval;
-<a name="l00183"></a>00183 rval.reserve(<span class="keywordtype">size_t</span>(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)));
-<a name="l00184"></a>00184 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
-<a name="l00185"></a>00185 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="keywordflow">for</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> i=3, ie=(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)); i&lt;ie; i+=2) {
-<a name="l00188"></a>00188 aa=aa*aSquared%n;
-<a name="l00189"></a>00189 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
-<a name="l00190"></a>00190 rval.push_back(aa); <span class="comment">// Odd power</span>
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keywordflow">return</span> rval;
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 vkbitdigit_t splitIntoKBitDigits(<span class="keyword">const</span> integer&amp; e, <span class="keywordtype">size_t</span> k) {
-<a name="l00197"></a>00197 <span class="keywordtype">size_t</span> eBits=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 vkbitdigit_t rval;
-<a name="l00200"></a>00200 rval.reserve(eDigits);
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> hopper=0, mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1)&lt;&lt;k)-1;
-<a name="l00203"></a>00203 <span class="keywordflow">while</span> (eDigits-- &gt; 0) {
-<a name="l00204"></a>00204 <span class="keywordflow">if</span> (bitsInHopper &lt; k &amp;&amp; i &lt; e._get_length()) {
-<a name="l00205"></a>00205 <span class="comment">// Add more bits to the hopper</span>
-<a name="l00206"></a>00206 hopper = hopper | (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(e._get_digit(i++)) &lt;&lt; bitsInHopper);
-<a name="l00207"></a>00207 bitsInHopper += <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="comment">// Grab k bits off the bottom</span>
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (bitsInHopper &gt; 0) {
-<a name="l00212"></a>00212 rval.push_back(kbitdigit_t(hopper &amp; mask));
-<a name="l00213"></a>00213 hopper &gt;&gt;= k;
-<a name="l00214"></a>00214 bitsInHopper-=k;
-<a name="l00215"></a>00215 } <span class="keywordflow">else</span> {
-<a name="l00216"></a>00216 rval.push_back(0);
-<a name="l00217"></a>00217 }
-<a name="l00218"></a>00218 }
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keywordflow">return</span> rval;
-<a name="l00221"></a>00221 }
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 } <span class="comment">// namespace</span>
-<a name="l00224"></a>00224
-<a name="l00228"></a>00228 integer <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; n)
-<a name="l00229"></a>00229 {
-<a name="l00230"></a>00230 <span class="comment">// 0 &lt;= a &lt; n, n is odd</span>
-<a name="l00231"></a>00231 <span class="comment">// Returns a^e mod n</span>
-<a name="l00232"></a>00232
-<a name="l00233"></a>00233 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>();
-<a name="l00236"></a>00236 <span class="keywordflow">if</span> (n.even()) <span class="keywordflow">throw</span> exceptions::invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
-<a name="l00237"></a>00237 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
-<a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="comment">// Precalculate some values</span>
-<a name="l00240"></a>00240 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
-<a name="l00241"></a>00241 <span class="keyword">const</span> integer r(<a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(n));
-<a name="l00242"></a>00242 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> nPrime0(<a class="code" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(n));
-<a name="l00243"></a>00243 <span class="keyword">const</span> vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>detail {
+<a name="l00032"></a>00032
+<a name="l00034"></a>00034 digit_t inverse0(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00035"></a>00035 <span class="comment">// Using the Dussé and Kalisk simplification</span>
+<a name="l00036"></a>00036 doubledigit_t x = 2, y = 1;
+<a name="l00037"></a>00037 digit_t n0 = n._get_digit(0);
+<a name="l00038"></a>00038 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 2; i &lt;= bits_per_digit; ++i, x &lt;&lt;= 1)
+<a name="l00039"></a>00039 <span class="keywordflow">if</span> (x &lt; ((n0 * y) &amp; ((x &lt;&lt; 1) - 1)))
+<a name="l00040"></a>00040 y += x;
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> digit_t(x - y);
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00047"></a>00047 integer montgomeryR(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() &lt;&lt; (bits_per_digit * n._get_length());
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00052"></a>00052 integer toMontgomeryForm(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> (n * montgomeryR(m) % m);
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00057"></a>00057 integer fromMontgomeryForm(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00058"></a>00058 integer inv=<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>(montgomeryR(m), m);
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> (n * inv % m);
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="comment">//integer montgomeryReduction(const integer&amp; m, const integer&amp; mPrime, const</span>
+<a name="l00063"></a>00063 <span class="comment">// integer&amp; T)</span>
+<a name="l00064"></a>00064 <span class="comment">//{</span>
+<a name="l00065"></a>00065 <span class="comment">// // Unstated parameter b is digit_overflowbit, a power of 2</span>
+<a name="l00066"></a>00066 <span class="comment">// // Unstated parameter n is m.data-&gt;mLength</span>
+<a name="l00067"></a>00067 <span class="comment">// // Unstated parameter R is b^n</span>
+<a name="l00068"></a>00068 <span class="comment">// // gcd(m, b)==1, or in other words, m must be an odd number</span>
+<a name="l00069"></a>00069 <span class="comment">// // m&#39;=-m^(-1) mod b (precalculated)</span>
+<a name="l00070"></a>00070 <span class="comment">// // T is any arbitrary number greater than zero and &lt;= m*R</span>
+<a name="l00071"></a>00071 <span class="comment">//</span>
+<a name="l00072"></a>00072 <span class="comment">// int n=m._get_data()-&gt;mLength;</span>
+<a name="l00073"></a>00073 <span class="comment">// doubledigit_t mprime = mPrime._get_data()-&gt;digits[0];</span>
+<a name="l00074"></a>00074 <span class="comment">//</span>
+<a name="l00075"></a>00075 <span class="comment">// integer A(T);</span>
+<a name="l00076"></a>00076 <span class="comment">// for (int i=0; i &lt; n; ++i) {</span>
+<a name="l00077"></a>00077 <span class="comment">// integer ui((A._get_data()-&gt;digits[i] * mprime) &amp; digit_mask);</span>
+<a name="l00078"></a>00078 <span class="comment">// ui &lt;&lt;= (bits_per_digit * i); // Fast-multiply by b^i</span>
+<a name="l00079"></a>00079 <span class="comment">// A+=(ui*m);</span>
+<a name="l00080"></a>00080 <span class="comment">// }</span>
+<a name="l00081"></a>00081 <span class="comment">// A &gt;&gt;= (bits_per_digit * n); // Fast-divide by b^n</span>
+<a name="l00082"></a>00082 <span class="comment">// if (A &gt;= m) A -= m;</span>
+<a name="l00083"></a>00083 <span class="comment">// return A;</span>
+<a name="l00084"></a>00084 <span class="comment">//}</span>
+<a name="l00085"></a>00085
+<a name="l00089"></a>00089 integer montgomeryMultiplyMod(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; b, <span class="keyword">const</span> integer&amp;
+<a name="l00090"></a>00090 n, digit_t nPrime0)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="comment">// Using the Dussé and Kalisk simplification</span>
+<a name="l00093"></a>00093 <span class="comment">// Unstated parameter B is a power of two representing the number of values</span>
+<a name="l00094"></a>00094 <span class="comment">// that a single digit can hold, i.e. digit_overflowbit</span>
+<a name="l00095"></a>00095 <span class="comment">// Unstated parameter L is the number of digits in the modulus, i.e.</span>
+<a name="l00096"></a>00096 <span class="comment">// n._get_length()</span>
+<a name="l00097"></a>00097 <span class="comment">// Unstated parameter r is B^L</span>
+<a name="l00098"></a>00098 <span class="comment">// nPrime0 is nPrime mod B, or digit zero of nPrime</span>
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">const</span> integer B(digit_overflowbit);
+<a name="l00101"></a>00101 <span class="keyword">const</span> <span class="keywordtype">size_t</span> L(n._get_length()), L1(L-1);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 integer t=a*b;
+<a name="l00104"></a>00104 <span class="keywordtype">size_t</span> i=0;
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">do</span> {
+<a name="l00107"></a>00107 digit_t mi=digit_t(doubledigit_t(t._get_digit(i))*nPrime0);
+<a name="l00108"></a>00108 t += (n * mi) &lt;&lt; (bits_per_digit * i);
+<a name="l00109"></a>00109 } <span class="keywordflow">while</span> (++i &lt;= L1);
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 t &gt;&gt;= (bits_per_digit * L); <span class="comment">// Fast divide by r</span>
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (t &gt;= n) <span class="keywordflow">return</span> t - n;
+<a name="l00114"></a>00114 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(t);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">// cMaxK sets the balance between memory/precalculations required and the number</span>
+<a name="l00118"></a>00118 <span class="comment">// of calculations required for an exponentiation. Increasing it can only reduce</span>
+<a name="l00119"></a>00119 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
+<a name="l00120"></a>00120 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
+<a name="l00121"></a>00121 <span class="comment">// provides a good balance.</span>
+<a name="l00122"></a>00122 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK=8;
+<a name="l00123"></a>00123 <span class="keyword">typedef</span> boost::uint_t&lt;cMaxK&gt;::fast kbitdigit_t; <span class="comment">// k bits have to fit into it</span>
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> std::vector&lt;integer&gt; vxint_t;
+<a name="l00126"></a>00126 <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>
+<a name="l00128"></a>00128 <span class="comment">// The splitIntoKBitDigits function assumes that cMaxK &lt;= bits_per_digit+1,</span>
+<a name="l00129"></a>00129 <span class="comment">// it won&#39;t work properly if it isn&#39;t.</span>
+<a name="l00130"></a>00130 BOOST_STATIC_ASSERT(cMaxK &lt;= bits_per_digit+1);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="keyword">class </span>TUTable {
+<a name="l00133"></a>00133 <span class="keyword">public</span>:
+<a name="l00134"></a>00134 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">const</span> value_t&amp; operator[](<span class="keywordtype">size_t</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTable[x]; }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
+<a name="l00139"></a>00139 <span class="comment">// Construct a singleton instance on demand</span>
+<a name="l00140"></a>00140 <span class="keywordflow">if</span> (mPtr.get()==0) mPtr.reset(<span class="keyword">new</span> TUTable);
+<a name="l00141"></a>00141 <span class="keywordflow">return</span> *mPtr;
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">private</span>:
+<a name="l00145"></a>00145 TUTable(): mTable(new value_t[ddPowerOfTwo(cMaxK)]) {
+<a name="l00146"></a>00146 value_t *p=&amp;mTable[0], *pe=p+ddPowerOfTwo(cMaxK);
+<a name="l00147"></a>00147 *p++=std::make_pair(0, 0);
+<a name="l00148"></a>00148 <span class="keywordtype">int</span> i=1;
+<a name="l00149"></a>00149 <span class="keywordflow">while</span> (p!=pe) *p++=calculateValues(i++);
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 std::pair&lt;int, int&gt; calculateValues(<span class="keywordtype">int</span> x) {
+<a name="l00153"></a>00153 <span class="keywordtype">int</span> r=0;
+<a name="l00154"></a>00154 <span class="keywordflow">while</span> (1) {
+<a name="l00155"></a>00155 <span class="keywordflow">if</span> (x &amp; 0x01) <span class="keywordflow">return</span> std::make_pair(r, x);
+<a name="l00156"></a>00156 ++r;
+<a name="l00157"></a>00157 x &gt;&gt;= 1;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="keyword">static</span> std::auto_ptr&lt;TUTable&gt; mPtr;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 boost::scoped_array&lt;value_t&gt; mTable;
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 std::auto_ptr&lt;TUTable&gt; TUTable::mPtr;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keywordtype">int</span> mostEfficientK(<span class="keyword">const</span> integer&amp; e) {
+<a name="l00169"></a>00169 doubledigit_t k=cMaxK, kTarget=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e)-1;
+<a name="l00170"></a>00170 <span class="keywordflow">while</span> (k &gt; 1 &amp;&amp; ((k - 1) * (k &lt;&lt; ((k - 1) &lt;&lt; 1))
+<a name="l00171"></a>00171 / (ddPowerOfTwo(k) - k - 1)) &gt;= kTarget)
+<a name="l00172"></a>00172 --k;
+<a name="l00173"></a>00173 <span class="keywordflow">return</span> int(k);
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 vxint_t precalculateOddPowersOfAa(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp;
+<a name="l00177"></a>00177 r, <span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> k)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 integer aa=a*r%n, aSquared=a*a%n;
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 vxint_t rval;
+<a name="l00182"></a>00182 rval.reserve(<span class="keywordtype">size_t</span>(ddPowerOfTwo(k)));
+<a name="l00183"></a>00183 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
+<a name="l00184"></a>00184 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keywordflow">for</span> (doubledigit_t i=3, ie=(ddPowerOfTwo(k)); i&lt;ie; i+=2) {
+<a name="l00187"></a>00187 aa=aa*aSquared%n;
+<a name="l00188"></a>00188 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
+<a name="l00189"></a>00189 rval.push_back(aa); <span class="comment">// Odd power</span>
+<a name="l00190"></a>00190 }
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> rval;
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 vkbitdigit_t splitIntoKBitDigits(<span class="keyword">const</span> integer&amp; e, <span class="keywordtype">size_t</span> k) {
+<a name="l00196"></a>00196 <span class="keywordtype">size_t</span> eBits=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 vkbitdigit_t rval;
+<a name="l00199"></a>00199 rval.reserve(eDigits);
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 doubledigit_t hopper=0, mask=(doubledigit_t(1)&lt;&lt;k)-1;
+<a name="l00202"></a>00202 <span class="keywordflow">while</span> (eDigits-- &gt; 0) {
+<a name="l00203"></a>00203 <span class="keywordflow">if</span> (bitsInHopper &lt; k &amp;&amp; i &lt; e._get_length()) {
+<a name="l00204"></a>00204 <span class="comment">// Add more bits to the hopper</span>
+<a name="l00205"></a>00205 hopper = hopper | (doubledigit_t(e._get_digit(i++)) &lt;&lt; bitsInHopper);
+<a name="l00206"></a>00206 bitsInHopper += bits_per_digit;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="comment">// Grab k bits off the bottom</span>
+<a name="l00210"></a>00210 <span class="keywordflow">if</span> (bitsInHopper &gt; 0) {
+<a name="l00211"></a>00211 rval.push_back(kbitdigit_t(hopper &amp; mask));
+<a name="l00212"></a>00212 hopper &gt;&gt;= k;
+<a name="l00213"></a>00213 bitsInHopper-=k;
+<a name="l00214"></a>00214 } <span class="keywordflow">else</span> {
+<a name="l00215"></a>00215 rval.push_back(0);
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> rval;
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00225"></a>00225 integer montgomeryPowerMod(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; n)
+<a name="l00226"></a>00226 {
+<a name="l00227"></a>00227 <span class="comment">// 0 &lt;= a &lt; n, n is odd</span>
+<a name="l00228"></a>00228 <span class="comment">// Returns a^e mod n</span>
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>();
+<a name="l00233"></a>00233 <span class="keywordflow">if</span> (n.even()) <span class="keywordflow">throw</span> exceptions::invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
+<a name="l00234"></a>00234 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="comment">// Precalculate some values</span>
+<a name="l00237"></a>00237 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
+<a name="l00238"></a>00238 <span class="keyword">const</span> integer r(montgomeryR(n));
+<a name="l00239"></a>00239 <span class="keyword">const</span> digit_t nPrime0(inverse0(n));
+<a name="l00240"></a>00240 <span class="keyword">const</span> vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="comment">// Slice the exponent (e) up into k-bit digits</span>
+<a name="l00243"></a>00243 vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
 <a name="l00244"></a>00244
-<a name="l00245"></a>00245 <span class="comment">// Slice the exponent (e) up into k-bit digits</span>
-<a name="l00246"></a>00246 vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 integer pp;
-<a name="l00249"></a>00249
-<a name="l00250"></a>00250 kbitdigit_t i=eDigits.back();
-<a name="l00251"></a>00251 eDigits.pop_back();
-<a name="l00252"></a>00252 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00253"></a>00253 pp=r%n;
-<a name="l00254"></a>00254 } <span class="keywordflow">else</span> {
-<a name="l00255"></a>00255 std::pair&lt;int, int&gt; tu=tuTable[i];
-<a name="l00256"></a>00256 pp=oddPowersOfAa[tu.second];
-<a name="l00257"></a>00257 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00258"></a>00258 }
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 <span class="keywordflow">while</span> (!eDigits.empty()) {
-<a name="l00261"></a>00261 i=eDigits.back();
-<a name="l00262"></a>00262 eDigits.pop_back();
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00265"></a>00265 <span class="keywordtype">int</span> t=int(k);
-<a name="l00266"></a>00266 <span class="keywordflow">while</span> (t-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00267"></a>00267 } <span class="keywordflow">else</span> {
-<a name="l00268"></a>00268 std::pair&lt;int, int&gt; tu=tuTable[i];
+<a name="l00245"></a>00245 integer pp;
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 kbitdigit_t i=eDigits.back();
+<a name="l00248"></a>00248 eDigits.pop_back();
+<a name="l00249"></a>00249 <span class="keywordflow">if</span> (i == 0) {
+<a name="l00250"></a>00250 pp=r%n;
+<a name="l00251"></a>00251 } <span class="keywordflow">else</span> {
+<a name="l00252"></a>00252 std::pair&lt;int, int&gt; tu=tuTable[i];
+<a name="l00253"></a>00253 pp=oddPowersOfAa[tu.second];
+<a name="l00254"></a>00254 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="keywordflow">while</span> (!eDigits.empty()) {
+<a name="l00258"></a>00258 i=eDigits.back();
+<a name="l00259"></a>00259 eDigits.pop_back();
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 <span class="keywordflow">if</span> (i == 0) {
+<a name="l00262"></a>00262 <span class="keywordtype">int</span> t=int(k);
+<a name="l00263"></a>00263 <span class="keywordflow">while</span> (t-- &gt; 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
+<a name="l00264"></a>00264 } <span class="keywordflow">else</span> {
+<a name="l00265"></a>00265 std::pair&lt;int, int&gt; tu=tuTable[i];
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keywordtype">size_t</span> s=k-tu.first;
+<a name="l00268"></a>00268 <span class="keywordflow">while</span> (s-- &gt; 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
 <a name="l00269"></a>00269
-<a name="l00270"></a>00270 <span class="keywordtype">size_t</span> s=k-tu.first;
-<a name="l00271"></a>00271 <span class="keywordflow">while</span> (s-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, oddPowersOfAa[tu.second], n, nPrime0);
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00276"></a>00276 }
-<a name="l00277"></a>00277 }
-<a name="l00278"></a>00278 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), n, nPrime0);
-<a name="l00279"></a>00279 }
-<a name="l00280"></a>00280
+<a name="l00270"></a>00270 pp=montgomeryMultiplyMod(pp, oddPowersOfAa[tu.second], n, nPrime0);
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274 }
+<a name="l00275"></a>00275 <span class="keywordflow">return</span> montgomeryMultiplyMod(pp, <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), n, nPrime0);
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 } <span class="comment">// namespace detail</span>
+<a name="l00280"></a>00280 <span class="comment"></span>
 <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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8hpp.html
==============================================================================
--- sandbox/xint/doc/monty_8hpp.html (original)
+++ sandbox/xint/doc/monty_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -31,29 +31,6 @@
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Internally-used functions. </p>
@@ -61,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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -39,23 +39,25 @@
 <a name="l00021"></a>00021 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_MONTY_HPP</span>
 <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_MONTY_HPP</span>
 <a name="l00023"></a>00023 <span class="preprocessor"></span>
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
-<a name="l00026"></a>00026
-<a name="l00029"></a>00029 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> <a class="code" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00030"></a>00030 integer <a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00031"></a>00031 integer <a class="code" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860" title="Returns the Montgomery form of a number. Used for testing.">toMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
-<a name="l00032"></a>00032 integer <a class="code" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4" title="Returns the integer from the Montgomery form of a number. Used for testing.">fromMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
-<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; y, <span class="keyword">const</span> integer&amp;
-<a name="l00034"></a>00034 m, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> nPrime0);
-<a name="l00035"></a>00035 integer <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m);
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 } <span class="comment">// namespace xint</span>
-<a name="l00039"></a>00039 } <span class="comment">// namespace boost</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_HPP</span>
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
+<a name="l00028"></a>00028
+<a name="l00031"></a>00031 detail::digit_t inverse0(<span class="keyword">const</span> integer&amp; n);
+<a name="l00032"></a>00032 integer montgomeryR(<span class="keyword">const</span> integer&amp; n);
+<a name="l00033"></a>00033 integer toMontgomeryForm(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
+<a name="l00034"></a>00034 integer fromMontgomeryForm(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
+<a name="l00035"></a>00035 integer montgomeryMultiplyMod(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; y, <span class="keyword">const</span> integer&amp;
+<a name="l00036"></a>00036 m, detail::digit_t nPrime0);
+<a name="l00037"></a>00037 integer montgomeryPowerMod(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m);
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace detail</span>
+<a name="l00041"></a>00041 } <span class="comment">// namespace xint</span>
+<a name="l00042"></a>00042 } <span class="comment">// namespace boost</span>
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -62,8 +62,8 @@
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">set_random_generator</a> (T *gen)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">detail void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">set_random_generator</a> (T *gen)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">swap</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;right)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">swap</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;right)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
@@ -73,7 +73,7 @@
 </div></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ace023b79b24b4df655c1d86be77df99a">abs</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">abs</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">abs</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
@@ -132,7 +132,7 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a090f7c7d819b3c1a0f7cc0bd69dc4878">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a125277404ae139bee70547f2d51d3e0e">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a058c69285b794392f3e5853355d0fa3e">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t valueIfZero)</td></tr>
@@ -170,12 +170,12 @@
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">compare</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">compare</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">compare</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">compare</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab04ceb2184645859dcbbc00b7b9ff4ca">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3ae2716e04bebbb74be08845db7132e2">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4e4bf24a99b565005d75630de66c5316">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num2)</td></tr>
@@ -206,7 +206,7 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">pow</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">pow2</a> (size_t e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">pow2</a> (size_t e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
@@ -215,7 +215,7 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7516b17b5c54a012c9dbdc9a45e2142b">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
@@ -245,7 +245,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a185dd459850bfd588a4a9b3c67e8c09c">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
@@ -261,27 +261,12 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">fromMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">inverse0</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">montgomeryMultiplyMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">montgomeryPowerMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">montgomeryR</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">toMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
@@ -293,7 +278,7 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a30c0cd9ad317c1a373cdc059b6f81cb9">mod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;modBy)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">mod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">mod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6dd657413c395d346e59b282aa6138d8">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;by, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;m)</td></tr>
@@ -334,7 +319,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a40319361b76e6c7fea92867ea76695c2">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
@@ -390,7 +375,7 @@
 <dd>
 <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">xint::from_binary</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00073">73</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#l00090">90</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -409,7 +394,7 @@
 <dd>
 <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00063">63</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#l00080">80</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -1774,7 +1759,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
  </p>
 
 <p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00781">781</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
@@ -1929,35 +1914,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a07914d9486e835d2dcea3268937296c4"></a><!-- doxytag: member="boost::xint::fromMontgomeryForm" ref="a07914d9486e835d2dcea3268937296c4" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::fromMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the integer from the Montgomery form of a number. Used for testing. </p>
-
-</div>
-</div>
 <a class="anchor" id="ab04ceb2184645859dcbbc00b7b9ff4ca"></a><!-- doxytag: member="boost::xint::gcd" ref="ab04ceb2184645859dcbbc00b7b9ff4ca" args="(const fixed_integer&lt; Bits &gt; &amp;num1, const fixed_integer&lt; Bits &gt; &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
@@ -2323,26 +2279,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a50ceb8725ce5a326ef1e43a4d593efac"></a><!-- doxytag: member="boost::xint::inverse0" ref="a50ceb8725ce5a326ef1e43a4d593efac" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::inverse0 </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the low digit of the inverse of a number. Used internally. </p>
-
-</div>
-</div>
 <a class="anchor" id="a0ae43d82587191d69d4f0b44226fc12f"></a><!-- doxytag: member="boost::xint::invmod" ref="a0ae43d82587191d69d4f0b44226fc12f" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;m)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3074,102 +3010,6 @@
 
 </div>
 </div>
-<a class="anchor" id="ab62e3e69cbc7781a86fc9a0192ef5d37"></a><!-- doxytag: member="boost::xint::montgomeryMultiplyMod" ref="ab62e3e69cbc7781a86fc9a0192ef5d37" args="(const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::montgomeryMultiplyMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>nPrime0</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="a9e0c8f5da23ce668a7b428256f6b8ed4"></a><!-- doxytag: member="boost::xint::montgomeryPowerMod" ref="a9e0c8f5da23ce668a7b428256f6b8ed4" args="(const integer &amp;a, const integer &amp;e, const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::montgomeryPowerMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="a5a7360e7330dcc35838ba324c523b395"></a><!-- doxytag: member="boost::xint::montgomeryR" ref="a5a7360e7330dcc35838ba324c523b395" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::montgomeryR </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the most efficient R value for a number and the library's internal representation. Used internally. </p>
-
-</div>
-</div>
 <a class="anchor" id="a6dd657413c395d346e59b282aa6138d8"></a><!-- doxytag: member="boost::xint::mulmod" ref="a6dd657413c395d346e59b282aa6138d8" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;by, const fixed_integer&lt; Bits &gt; &amp;m)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3734,7 +3574,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
  </p>
 
 </div>
@@ -4320,7 +4160,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00318">318</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00320">320</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4351,7 +4191,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00275">275</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00277">277</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4737,7 +4577,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4768,7 +4608,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00282">282</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00284">284</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -5343,7 +5183,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
 
 </div>
 </div>
@@ -5396,14 +5236,14 @@
 
 </div>
 </div>
-<a class="anchor" id="a201d33fafe577133130cd16dec3422b6"></a><!-- doxytag: member="boost::xint::set_random_generator" ref="a201d33fafe577133130cd16dec3422b6" args="(T *gen)" -->
+<a class="anchor" id="ae64e3e8c8da2f0a1cb7064d1775fbf54"></a><!-- doxytag: member="boost::xint::set_random_generator" ref="ae64e3e8c8da2f0a1cb7064d1775fbf54" args="(T *gen)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
 template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::set_random_generator </td>
+ <td class="memname">detail void boost::xint::set_random_generator </td>
           <td>(</td>
           <td class="paramtype">T *&nbsp;</td>
           <td class="paramname"> <em>gen</em></td>
@@ -5424,7 +5264,7 @@
 <dl class="warning"><dt><b>Warning:</b></dt><dd>The generator must be a heap-allocated pointer (one created with <code>new</code>), which the XInt library assumes ownership of. Don't pass in a stack-created item, don't try to delete the item that you passed in, and don't attempt to use it separately after passing it to this function, or the behavior is undefined.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>See the <a class="el" href="random.html">Random Number page</a> for an example of how to use it. </dd></dl>
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00103">103</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#l00105">105</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -6388,7 +6228,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00357">357</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00359">359</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6417,7 +6257,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00289">289</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00291">291</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6491,7 +6331,7 @@
  </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns T(0) instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6534,7 +6374,7 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00268">268</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00270">270</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6899,35 +6739,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a512ff2447d52a228c1c9f99fea8fd860"></a><!-- doxytag: member="boost::xint::toMontgomeryForm" ref="a512ff2447d52a228c1c9f99fea8fd860" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::toMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery form of a number. Used for testing. </p>
-
-</div>
-</div>
 <hr/><h2>Variable Documentation</h2>
 <a class="anchor" id="a086ec65a0273dccedca0fbfbddb03398"></a><!-- doxytag: member="boost::xint::autobase" ref="a086ec65a0273dccedca0fbfbddb03398" args="" -->
 <div class="memitem">
@@ -6944,7 +6755,7 @@
 <dd>
 <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">xint::from_string</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00083">83</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#l00100">100</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -6963,12 +6774,12 @@
 <dd>
 <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00078">78</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#l00095">95</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -31,1642 +31,11 @@
 <p>The items within this namespace are meant for internal use only.
 <a href="#_details">More...</a></p>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all integer classes. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">base_variable_length_integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for the variable-length integer classes. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">bitqueue_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used internally to reorder bits into different-sized groupings. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the magnitude digits of an integer. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">neg_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a negated temporary integer that can always share storage. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support class for the random generator code. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">temp_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a temporary integer that can always share storage. More...<br/></td></tr>
-<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
-&lt; std::numeric_limits<br class="typebreak"/>
-&lt; <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> &gt;::digits/2 &gt;<br class="typebreak"/>
-::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">bitwise_and</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">bitwise_or</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">bitwise_xor</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">divide</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;qtarget, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;rtarget, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">factorial</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, size_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">from_binary</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> &amp;b, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">from_string</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">gcd</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">get_random</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">invmod</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">lcm</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">log10_bits</a> (size_t bits)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3c6ea7edbed003bc5ed8254fd2f12ac5">log2</a> (const T &amp;nn, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">log2</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">mod</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;by)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">pow</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">powmod</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;_n, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;_e, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;_m, bool noMontgomery)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">set_random_generator</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a> *obj)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">setbit</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">shift_left</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">shift_right</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">sqr</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">sqrt</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;nn)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">subtract</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n2)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">to</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">to_binary</a> (<a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> &amp;target, const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t bits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">The data_t functions.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp583f07902076b847c6a492abda2f342d"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">allocate</a> (size_t max_digits, size_t initial_length, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">allocate_fixed</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">allocate_fixed_zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, size_t max_digits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *data)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af233ab6ae59b3ef29d352b8d08cf772f">duplicate</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *olddata, <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *data_to_copy, size_t extra=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a685a3fff60bd1083508712548203cf7b">duplicate</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *olddata, size_t extra=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">reallocate</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a589b1fc1784e06a3aef44c86254f1a45">zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, size_t size)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *end)</td></tr>
-<tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">nan_text</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the text representation of the Not-a-Number value. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Some constants used by the library.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpe1f42a3ea000e0468230fb7abe73e7b1"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> = std::numeric_limits&lt;<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&gt;::digits</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">digit_hibit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a> = <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(<a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>-1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">digits_in_uintmax</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">doubledigit_hibit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>*2-1))</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The items within this namespace are meant for internal use only. </p>
-<hr/><h2>Typedef Documentation</h2>
-<a class="anchor" id="a46b5dc5524403d8a09d1bb419abcc347"></a><!-- doxytag: member="boost::xint::detail::digit_t" ref="a46b5dc5524403d8a09d1bb419abcc347" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::uint_t&lt;std::numeric_limits&lt;<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>&gt;::digits / 2&gt;::fast <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail::digit_t</a></td>
- </tr>
- </table>
 </div>
-<div class="memdoc">
-<p>This is the type used to store information about the integer. It must contain at least half the number of bits that a doubledigit_t can hold, and is most memory-efficient when it's exactly that. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00101">101</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4a5cc16afeb1b8f5c3f0e9585f8e7d23"></a><!-- doxytag: member="boost::xint::detail::doubledigit_t" ref="a4a5cc16afeb1b8f5c3f0e9585f8e7d23" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::uintmax_t <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail::doubledigit_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>This is the type used for calculations. It should be the largest built-in integral type the system can offer, for maximum processing efficiency. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00093">93</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ab9babbdf59f52b65d8cecc33e20e0a3f"></a><!-- doxytag: member="boost::xint::detail::add" ref="ab9babbdf59f52b65d8cecc33e20e0a3f" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::add </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af1f0f3f0daacef4f7c496378bf6bdfd8"></a><!-- doxytag: member="boost::xint::detail::allocate" ref="af1f0f3f0daacef4f7c496378bf6bdfd8" args="(size_t max_digits, size_t initial_length, digit_t mask)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> * boost::xint::detail::allocate </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>max_digits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>initial_length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa11166a9b6a4505bc8793ecdc31ad81f"></a><!-- doxytag: member="boost::xint::detail::allocate_fixed" ref="aa11166a9b6a4505bc8793ecdc31ad81f" args="(digit_t mask, size_t max_digits, size_t initial_length)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> * boost::xint::detail::allocate_fixed </td>
- <td>(</td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>mask</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>max_digits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>initial_length</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae0e0a61905f63dfe370ed6b4731fd076"></a><!-- doxytag: member="boost::xint::detail::allocate_fixed_zero" ref="ae0e0a61905f63dfe370ed6b4731fd076" args="(digit_t mask, size_t max_digits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> * boost::xint::detail::allocate_fixed_zero </td>
- <td>(</td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>mask</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>max_digits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a53d3a82d1e9cc3093f7152536226ad26"></a><!-- doxytag: member="boost::xint::detail::bitwise_and" ref="a53d3a82d1e9cc3093f7152536226ad26" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::bitwise_and </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a371947fdd527dc7f9749288893da9ef2"></a><!-- doxytag: member="boost::xint::detail::bitwise_or" ref="a371947fdd527dc7f9749288893da9ef2" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::bitwise_or </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3021d365585065f356b81a0250403541"></a><!-- doxytag: member="boost::xint::detail::bitwise_xor" ref="a3021d365585065f356b81a0250403541" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::bitwise_xor </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="acac1cc20095f62e9c39941651dde4316"></a><!-- doxytag: member="boost::xint::detail::clearbit" ref="acac1cc20095f62e9c39941651dde4316" args="(base_integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::clearbit </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9de8315201bc9967495a289fc8579dd7"></a><!-- doxytag: member="boost::xint::detail::compare" ref="a9de8315201bc9967495a289fc8579dd7" args="(const base_integer &amp;b1, const base_integer &amp;b2, bool ignoresign)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int boost::xint::detail::compare </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a44089260e9472ac378d3e2ed739e7e08"></a><!-- doxytag: member="boost::xint::detail::deallocate" ref="a44089260e9472ac378d3e2ed739e7e08" args="(data_t *data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::deallocate </td>
- <td>(</td>
- <td class="paramtype">data_t *&nbsp;</td>
- <td class="paramname"> <em>data</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0032a7ede8873065bda17e3ab96897db"></a><!-- doxytag: member="boost::xint::detail::divide" ref="a0032a7ede8873065bda17e3ab96897db" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::divide </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a30a579455d99a87796390eb2fbf4498a"></a><!-- doxytag: member="boost::xint::detail::divide" ref="a30a579455d99a87796390eb2fbf4498a" args="(base_integer &amp;qtarget, base_integer &amp;rtarget, const base_integer &amp;d1, const base_integer &amp;d2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::divide </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>qtarget</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>rtarget</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af233ab6ae59b3ef29d352b8d08cf772f"></a><!-- doxytag: member="boost::xint::detail::duplicate" ref="af233ab6ae59b3ef29d352b8d08cf772f" args="(data_t *olddata, data_t *data_to_copy, size_t extra=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>* boost::xint::detail::duplicate </td>
- <td>(</td>
- <td class="paramtype">data_t *&nbsp;</td>
- <td class="paramname"> <em>olddata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">data_t *&nbsp;</td>
- <td class="paramname"> <em>data_to_copy</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>extra</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a685a3fff60bd1083508712548203cf7b"></a><!-- doxytag: member="boost::xint::detail::duplicate" ref="a685a3fff60bd1083508712548203cf7b" args="(data_t *olddata, size_t extra=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>* boost::xint::detail::duplicate </td>
- <td>(</td>
- <td class="paramtype">data_t *&nbsp;</td>
- <td class="paramname"> <em>olddata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>extra</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af5a00863dc0d17859957738dbc22b98f"></a><!-- doxytag: member="boost::xint::detail::factorial" ref="af5a00863dc0d17859957738dbc22b98f" args="(base_integer &amp;target, size_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::factorial </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af6486dc129e2175a1c5e69a0490d1dec"></a><!-- doxytag: member="boost::xint::detail::from_binary" ref="af6486dc129e2175a1c5e69a0490d1dec" args="(base_integer &amp;target, const xint::binary_t &amp;b, size_t bits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::from_binary </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const xint::binary_t &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8ba37df48cdda7d54becb08bbe97fa5f"></a><!-- doxytag: member="boost::xint::detail::from_string" ref="a8ba37df48cdda7d54becb08bbe97fa5f" args="(base_integer &amp;target, const std::string &amp;str, size_t base)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::from_string </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3855da89983ace165f708111723d8d1a"></a><!-- doxytag: member="boost::xint::detail::gcd" ref="a3855da89983ace165f708111723d8d1a" args="(base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::gcd </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6486d7febde540f90921e9925d077534"></a><!-- doxytag: member="boost::xint::detail::get_random" ref="a6486d7febde540f90921e9925d077534" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int boost::xint::detail::get_random </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>An unsigned int from the current random generator. </dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6e4e8f8c4d7f25dbf7a6c5d13e74472b"></a><!-- doxytag: member="boost::xint::detail::getbit" ref="a6e4e8f8c4d7f25dbf7a6c5d13e74472b" args="(const base_integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::detail::getbit </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa5632075443060f8efc8c2d76e3d0d38"></a><!-- doxytag: member="boost::xint::detail::highestbit" ref="aa5632075443060f8efc8c2d76e3d0d38" args="(const base_integer &amp;n, size_t valueIfZero)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::highestbit </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a5b0d8fb9d0f8d7feffb43ca63e10a4b3"></a><!-- doxytag: member="boost::xint::detail::invmod" ref="a5b0d8fb9d0f8d7feffb43ca63e10a4b3" args="(base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::invmod </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a931235bb5e181c038944d773a1e03158"></a><!-- doxytag: member="boost::xint::detail::lcm" ref="a931235bb5e181c038944d773a1e03158" args="(base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::lcm </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aee0c323135ed34026523afa598e8a270"></a><!-- doxytag: member="boost::xint::detail::log10_bits" ref="aee0c323135ed34026523afa598e8a270" args="(size_t bits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::log10_bits </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c6ea7edbed003bc5ed8254fd2f12ac5"></a><!-- doxytag: member="boost::xint::detail::log2" ref="a3c6ea7edbed003bc5ed8254fd2f12ac5" args="(const T &amp;nn, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::log2 </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>nn</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00405">405</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35e711ff550651a2d9414249e9adcc60"></a><!-- doxytag: member="boost::xint::detail::log2" ref="a35e711ff550651a2d9414249e9adcc60" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::log2 </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00391">391</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a70ae609a4ed2dfd6fb2c237eadfe8a71"></a><!-- doxytag: member="boost::xint::detail::lowestbit" ref="a70ae609a4ed2dfd6fb2c237eadfe8a71" args="(const base_integer &amp;n, size_t valueIfZero)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::detail::lowestbit </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3395be771e1ce5d282e018a2735b6d86"></a><!-- doxytag: member="boost::xint::detail::mod" ref="a3395be771e1ce5d282e018a2735b6d86" args="(base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::mod </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae35185e26f2828524b2830778186ac19"></a><!-- doxytag: member="boost::xint::detail::multiply" ref="ae35185e26f2828524b2830778186ac19" args="(base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;by)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::multiply </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>by</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a674271483ebe199824cdfbd63a6adee1"></a><!-- doxytag: member="boost::xint::detail::operator&lt;&lt;" ref="a674271483ebe199824cdfbd63a6adee1" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::detail::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00431">431</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2cab37c14507681f47915d9e3f0d6c86"></a><!-- doxytag: member="boost::xint::detail::operator&gt;&gt;" ref="a2cab37c14507681f47915d9e3f0d6c86" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; boost::xint::detail::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00461">461</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac81c5a94831c7aea3a665eb33491ebe2"></a><!-- doxytag: member="boost::xint::detail::pow" ref="ac81c5a94831c7aea3a665eb33491ebe2" args="(base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;e)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::pow </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac063e3fcb648313184b04ef7102d7695"></a><!-- doxytag: member="boost::xint::detail::powmod" ref="ac063e3fcb648313184b04ef7102d7695" args="(base_integer &amp;target, const base_integer &amp;_n, const base_integer &amp;_e, const base_integer &amp;_m, bool noMontgomery)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::powmod </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_m</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1883fadafa2eeb3e70dfd9032f35bbdd"></a><!-- doxytag: member="boost::xint::detail::reallocate" ref="a1883fadafa2eeb3e70dfd9032f35bbdd" args="(data_t *olddata, size_t newsize)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> * boost::xint::detail::reallocate </td>
- <td>(</td>
- <td class="paramtype">data_t *&nbsp;</td>
- <td class="paramname"> <em>olddata</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>newsize</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a17e1b4fcb11ff18fd2641dc43ee905b8"></a><!-- doxytag: member="boost::xint::detail::set_random_generator" ref="a17e1b4fcb11ff18fd2641dc43ee905b8" args="(base_random_generator *obj)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::set_random_generator </td>
- <td>(</td>
- <td class="paramtype">base_random_generator *&nbsp;</td>
- <td class="paramname"> <em>obj</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Support function. </p>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aab28ac84cd1fb51d3d6206abad9fba01"></a><!-- doxytag: member="boost::xint::detail::setbit" ref="aab28ac84cd1fb51d3d6206abad9fba01" args="(base_integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::setbit </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2c4f8bb0f54061c28c9eb9c2cc852273"></a><!-- doxytag: member="boost::xint::detail::shift_left" ref="a2c4f8bb0f54061c28c9eb9c2cc852273" args="(base_integer &amp;target, const base_integer &amp;n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::shift_left </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac6682e4cab49f639aa538ccd10b3a8e5"></a><!-- doxytag: member="boost::xint::detail::shift_right" ref="ac6682e4cab49f639aa538ccd10b3a8e5" args="(base_integer &amp;target, const base_integer &amp;n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::shift_right </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abdd8d6819281b304dad578d720e5a651"></a><!-- doxytag: member="boost::xint::detail::sqr" ref="abdd8d6819281b304dad578d720e5a651" args="(base_integer &amp;target, const base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::sqr </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aca96f8988b99f3d7153073ef408b875d"></a><!-- doxytag: member="boost::xint::detail::sqrt" ref="aca96f8988b99f3d7153073ef408b875d" args="(base_integer &amp;target, const base_integer &amp;nn)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::sqrt </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>nn</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0424e97ecd4549ba637bbf16e31f3047"></a><!-- doxytag: member="boost::xint::detail::subtract" ref="a0424e97ecd4549ba637bbf16e31f3047" args="(base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::subtract </td>
- <td>(</td>
- <td class="paramtype">base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6d3ab42bef0e91fcfcf74de54ca623a0"></a><!-- doxytag: member="boost::xint::detail::to" ref="a6d3ab42bef0e91fcfcf74de54ca623a0" args="(const base_integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">T boost::xint::detail::to </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00414">414</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8c7dab9ec8b34c81c577a3b9d3e44118"></a><!-- doxytag: member="boost::xint::detail::to_binary" ref="a8c7dab9ec8b34c81c577a3b9d3e44118" args="(xint::binary_t &amp;target, const base_integer &amp;n, size_t bits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::to_binary </td>
- <td>(</td>
- <td class="paramtype">xint::binary_t &amp;&nbsp;</td>
- <td class="paramname"> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af928647d948f09a6564ccd83a80dad14"></a><!-- doxytag: member="boost::xint::detail::to_string" ref="af928647d948f09a6564ccd83a80dad14" args="(const base_integer &amp;n, size_t base, bool uppercase)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::string boost::xint::detail::to_string </td>
- <td>(</td>
- <td class="paramtype">const base_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>uppercase</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a589b1fc1784e06a3aef44c86254f1a45"></a><!-- doxytag: member="boost::xint::detail::zero" ref="a589b1fc1784e06a3aef44c86254f1a45" args="(digit_t *p, size_t size)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::zero </td>
- <td>(</td>
- <td class="paramtype">digit_t *&nbsp;</td>
- <td class="paramname"> <em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4e055aa4ada37a5892b2605de2a953ae"></a><!-- doxytag: member="boost::xint::detail::zero" ref="a4e055aa4ada37a5892b2605de2a953ae" args="(digit_t *p, digit_t *end)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::detail::zero </td>
- <td>(</td>
- <td class="paramtype">digit_t *&nbsp;</td>
- <td class="paramname"> <em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">digit_t *&nbsp;</td>
- <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a7502e1dd4c20a5ad799c6414b55e6818"></a><!-- doxytag: member="boost::xint::detail::bits_per_digit" ref="a7502e1dd4c20a5ad799c6414b55e6818" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail::bits_per_digit</a> = std::numeric_limits&lt;<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&gt;::digits</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00105">105</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab7d9f30b8cad63e2e82998aa2e8d0fcd"></a><!-- doxytag: member="boost::xint::detail::digit_hibit" ref="ab7d9f30b8cad63e2e82998aa2e8d0fcd" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail::digit_hibit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>-1))</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00109">109</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aecc94d5cb515781b3a33ddf76884e8f5"></a><!-- doxytag: member="boost::xint::detail::digit_mask" ref="aecc94d5cb515781b3a33ddf76884e8f5" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail::digit_mask</a> = <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(<a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>-1)</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00112">112</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa743d942f784ec3a77e85816628d14cc"></a><!-- doxytag: member="boost::xint::detail::digit_overflowbit" ref="aa743d942f784ec3a77e85816628d14cc" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail::digit_overflowbit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>)</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00111">111</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2dcd1e1d9d0bed7c296c7474ed4f976e"></a><!-- doxytag: member="boost::xint::detail::digits_in_uintmax" ref="a2dcd1e1d9d0bed7c296c7474ed4f976e" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail::digits_in_uintmax</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<b>Initial value:</b><div class="fragment"><pre class="fragment">
- (std::numeric_limits&lt;boost::uintmax_t&gt;::digits + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - 1) /
- <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>
-</pre></div>
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00106">106</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a33ea157e34285642e6924bbffffc4367"></a><!-- doxytag: member="boost::xint::detail::doubledigit_hibit" ref="a33ea157e34285642e6924bbffffc4367" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail::doubledigit_hibit</a> = (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1) &lt;&lt; (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>*2-1))</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00110">110</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab0df946a2c10228501ef82bf823d0978"></a><!-- doxytag: member="boost::xint::detail::nan_text" ref="ab0df946a2c10228501ef82bf823d0978" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const std::string <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail::nan_text</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Holds the text representation of the Not-a-Number value. </p>
-
-</div>
-</div>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers.html
==============================================================================
--- sandbox/xint/doc/namespacemembers.html (original)
+++ sandbox/xint/doc/namespacemembers.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -33,23 +33,22 @@
   </div>
   <div class="tabs">
     <ul>
- <li class="current">a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
     </ul>
   </div>
 </div>
@@ -61,25 +60,293 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">boost::xint</a>
 </li>
 <li>add()
-: <a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a74c947ce6c6d25b54c25b5c5427a9c62">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint</a>
 </li>
-<li>allocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail</a>
+<li>autobase
+: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>binary_t
+: <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint</a>
 </li>
-<li>allocate_fixed()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail</a>
+<li>bitwise_and()
+: <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
 </li>
-<li>allocate_fixed_zero()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail</a>
+<li>bitwise_or()
+: <a class="el" href="namespaceboost_1_1xint.html#a47b675e2d348c9c53d4423e6c5eee354">boost::xint</a>
 </li>
-<li>autobase
-: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
+<li>bitwise_xor()
+: <a class="el" href="namespaceboost_1_1xint.html#a9ef262badd4547baacbf46206eb4a880">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>callback_t
+: <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
+</li>
+<li>clearbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint</a>
+</li>
+<li>compare()
+: <a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>divide()
+: <a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">boost::xint</a>
+</li>
+<li>divide_r()
+: <a class="el" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
+</li>
+<li>fixed_factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">boost::xint</a>
+</li>
+<li>fixed_from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">boost::xint</a>
+</li>
+<li>fixed_from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">boost::xint</a>
+</li>
+<li>fixed_pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
+</li>
+<li>fixed_random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
+</li>
+<li>fixed_random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
+</li>
+<li>from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
+</li>
+<li>from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>gcd()
+: <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
+</li>
+<li>getbit()
+: <a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>highestbit()
+: <a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>invmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint</a>
+</li>
+<li>is_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>lcm()
+: <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
+</li>
+<li>log2()
+: <a class="el" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd">boost::xint</a>
+</li>
+<li>lowestbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a6d7bfe0c5806902b377df0934f027f38">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>mod()
+: <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
+</li>
+<li>mulmod()
+: <a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint</a>
+</li>
+<li>multiply()
+: <a class="el" href="namespaceboost_1_1xint.html#a6a548d944523cfc7c22823014bb6dcb6">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>negate()
+: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
+</li>
+<li>no_callback
+: <a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint</a>
+</li>
+<li>nothrow_factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
+</li>
+<li>nothrow_from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint</a>
+</li>
+<li>nothrow_from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
+</li>
+<li>nothrow_pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
+</li>
+<li>nothrow_random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
+</li>
+<li>nothrow_random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>operator!=()
+: <a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint</a>
+</li>
+<li>operator%()
+: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
+</li>
+<li>operator&amp;()
+: <a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">boost::xint</a>
+</li>
+<li>operator*()
+: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
+</li>
+<li>operator+()
+: <a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">boost::xint</a>
+</li>
+<li>operator-()
+: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
+</li>
+<li>operator/()
+: <a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">boost::xint</a>
+</li>
+<li>operator&lt;=()
+: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
+</li>
+<li>operator==()
+: <a class="el" href="namespaceboost_1_1xint.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">boost::xint</a>
+</li>
+<li>operator&gt;()
+: <a class="el" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">boost::xint</a>
+</li>
+<li>operator&gt;=()
+: <a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint</a>
+</li>
+<li>operator&gt;&gt;()
+: <a class="el" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">boost::xint</a>
+</li>
+<li>operator^()
+: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
+</li>
+<li>operator|()
+: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
+</li>
+<li>opt_secure_mode()
+: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
+</li>
+<li>opt_thread_safe()
+: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>pow()
+: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
+</li>
+<li>pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
+</li>
+<li>powmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a8f97bd640a2e3a45313fd1893dc854e3">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
+</li>
+<li>random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>set_random_generator()
+: <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint</a>
+</li>
+<li>setbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
+</li>
+<li>shift()
+: <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
+</li>
+<li>shift_left()
+: <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
+</li>
+<li>shift_right()
+: <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
+</li>
+<li>sqr()
+: <a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">boost::xint</a>
+</li>
+<li>sqrmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">boost::xint</a>
+</li>
+<li>sqrt()
+: <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
+</li>
+<li>subtract()
+: <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
+</li>
+<li>swap()
+: <a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>to()
+: <a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">boost::xint</a>
+</li>
+<li>to_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint</a>
+</li>
+<li>to_string()
+: <a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/namespacemembers_0x62.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x62.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li class="current">b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>binary_t
-: <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint</a>
-</li>
-<li>bits_per_digit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail</a>
-</li>
-<li>bitwise_and()
-: <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ac9ac26e06d3665264feab3e02677a552">boost::xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespaceboost_1_1xint.html#a9ef262badd4547baacbf46206eb4a880">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ab4996f013ac222b53bea0b46ff95e1df">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x63.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x63.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li class="current">c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>callback_t
-: <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
-</li>
-<li>clearbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a6b82b4f0911b258e82b9c11b4413c8bf">boost::xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x64.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x64.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li class="current">d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>deallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail</a>
-</li>
-<li>digit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail</a>
-</li>
-<li>digit_mask
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail</a>
-</li>
-<li>digit_overflowbit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail</a>
-</li>
-<li>digit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail</a>
-</li>
-<li>digits_in_uintmax
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail</a>
-</li>
-<li>divide()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">boost::xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespaceboost_1_1xint.html#aab594b314b957c668fb8d21cea175ff4">boost::xint</a>
-</li>
-<li>doubledigit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail</a>
-</li>
-<li>doubledigit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail</a>
-</li>
-<li>duplicate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af233ab6ae59b3ef29d352b8d08cf772f">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x66.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x66.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li class="current">f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
-</li>
-<li>fixed_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">boost::xint</a>
-</li>
-<li>fixed_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">boost::xint</a>
-</li>
-<li>fixed_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">boost::xint</a>
-</li>
-<li>fixed_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
-</li>
-<li>fixed_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
-</li>
-<li>fixed_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
-</li>
-<li>from_string()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
-</li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x67.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x67.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li class="current">g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a125277404ae139bee70547f2d51d3e0e">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x68.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x68.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li class="current">h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a058c69285b794392f3e5853355d0fa3e">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x69.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x69.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li class="current">i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">boost::xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x6c.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x6c.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li class="current">l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
-</li>
-<li>log10_bits()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail</a>
-</li>
-<li>log2()
-: <a class="el" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a080731f708e62fc429687bf450f36fa2">boost::xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a09477129544d4bdb08ddd63644683f5c">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x6d.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x6d.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li class="current">m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x6e.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x6e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li class="current">n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan_text
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail</a>
-</li>
-<li>negate()
-: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
-</li>
-<li>no_callback
-: <a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint</a>
-</li>
-<li>nothrow_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
-</li>
-<li>nothrow_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint</a>
-</li>
-<li>nothrow_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
-</li>
-<li>nothrow_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
-</li>
-<li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
-</li>
-<li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x6f.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x6f.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li class="current">o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!=()
-: <a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">boost::xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">boost::xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">boost::xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">boost::xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x70.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x70.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li class="current">p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ae92b86a29007f48749f17d54f36f469a">boost::xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x72.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x72.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li class="current">r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
-</li>
-<li>reallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x73.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x73.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,108 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li class="current">s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#aaf72216ae1986d06d4f39c27cada42d6">boost::xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespaceboost_1_1xint.html#ad62ca08dc3d7600eee872dc5a95c338c">boost::xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespaceboost_1_1xint.html#a295196e5fa8931578d27468cb5154f07">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#ae64aa02c6217ea9f53f25d4f44ddddd1">boost::xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespaceboost_1_1xint.html#a7516b17b5c54a012c9dbdc9a45e2142b">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">boost::xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a218c0f1ddaaa8c978b3f84219ef712d2">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
-</li>
-<li>swap()
-: <a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x74.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x74.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li class="current">t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>to()
-: <a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">boost::xint::detail</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a2691e17588d7a0bb6614d5bdeb66cd4c">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint</a>
-</li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_0x7a.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_0x7a.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li class="current">z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/namespacemembers_func.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func.html (original)
+++ sandbox/xint/doc/namespacemembers_func.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -33,23 +33,22 @@
   </div>
   <div class="tabs">
     <ul>
- <li class="current">a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
     </ul>
   </div>
 </div>
@@ -62,21 +61,280 @@
 </li>
 <li>add()
 : <a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint</a>
 </li>
-<li>allocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>bitwise_and()
+: <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
+</li>
+<li>bitwise_or()
+: <a class="el" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec">boost::xint</a>
+</li>
+<li>bitwise_xor()
+: <a class="el" href="namespaceboost_1_1xint.html#a9ef262badd4547baacbf46206eb4a880">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>clearbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint</a>
+</li>
+<li>compare()
+: <a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>divide()
+: <a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">boost::xint</a>
+</li>
+<li>divide_r()
+: <a class="el" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
+</li>
+<li>fixed_factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">boost::xint</a>
+</li>
+<li>fixed_from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">boost::xint</a>
+</li>
+<li>fixed_from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">boost::xint</a>
+</li>
+<li>fixed_pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
+</li>
+<li>fixed_random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
+</li>
+<li>fixed_random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
+</li>
+<li>from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
+</li>
+<li>from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>gcd()
+: <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
+</li>
+<li>getbit()
+: <a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>highestbit()
+: <a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>invmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint</a>
+</li>
+<li>is_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>lcm()
+: <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
+</li>
+<li>log2()
+: <a class="el" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd">boost::xint</a>
+</li>
+<li>lowestbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a6d7bfe0c5806902b377df0934f027f38">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>mod()
+: <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
+</li>
+<li>mulmod()
+: <a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint</a>
+</li>
+<li>multiply()
+: <a class="el" href="namespaceboost_1_1xint.html#a6a548d944523cfc7c22823014bb6dcb6">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>negate()
+: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
+</li>
+<li>nothrow_factorial()
+: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
+</li>
+<li>nothrow_from_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint</a>
+</li>
+<li>nothrow_from_string()
+: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
+</li>
+<li>nothrow_pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
+</li>
+<li>nothrow_random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
+</li>
+<li>nothrow_random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>operator!=()
+: <a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint</a>
+</li>
+<li>operator%()
+: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
+</li>
+<li>operator&amp;()
+: <a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">boost::xint</a>
+</li>
+<li>operator*()
+: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
+</li>
+<li>operator+()
+: <a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">boost::xint</a>
+</li>
+<li>operator-()
+: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
+</li>
+<li>operator/()
+: <a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">boost::xint</a>
+</li>
+<li>operator&lt;=()
+: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
+</li>
+<li>operator==()
+: <a class="el" href="namespaceboost_1_1xint.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">boost::xint</a>
+</li>
+<li>operator&gt;()
+: <a class="el" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">boost::xint</a>
+</li>
+<li>operator&gt;=()
+: <a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint</a>
+</li>
+<li>operator&gt;&gt;()
+: <a class="el" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">boost::xint</a>
+</li>
+<li>operator^()
+: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
+</li>
+<li>operator|()
+: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
+</li>
+<li>opt_secure_mode()
+: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
+</li>
+<li>opt_thread_safe()
+: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>pow()
+: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
+</li>
+<li>pow2()
+: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
+</li>
+<li>powmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a8f97bd640a2e3a45313fd1893dc854e3">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>random_by_size()
+: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
+</li>
+<li>random_prime()
+: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>set_random_generator()
+: <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint</a>
+</li>
+<li>setbit()
+: <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
+</li>
+<li>shift()
+: <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
+</li>
+<li>shift_left()
+: <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
+</li>
+<li>shift_right()
+: <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
+</li>
+<li>sqr()
+: <a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">boost::xint</a>
+</li>
+<li>sqrmod()
+: <a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">boost::xint</a>
+</li>
+<li>sqrt()
+: <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
+</li>
+<li>subtract()
+: <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
+</li>
+<li>swap()
+: <a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">boost::xint</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>to()
+: <a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">boost::xint</a>
 </li>
-<li>allocate_fixed()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail</a>
+<li>to_binary()
+: <a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint</a>
 </li>
-<li>allocate_fixed_zero()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail</a>
+<li>to_string()
+: <a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/namespacemembers_func_0x62.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x62.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li class="current">b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>bitwise_and()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespaceboost_1_1xint.html#a47b675e2d348c9c53d4423e6c5eee354">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a1221efa42739f309024e1715adc58917">boost::xint</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ab4996f013ac222b53bea0b46ff95e1df">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x63.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x63.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li class="current">c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>clearbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x64.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x64.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li class="current">d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>deallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail</a>
-</li>
-<li>divide()
-: <a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4711eee4f69e1a7cc5c5393bd4d44361">boost::xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespaceboost_1_1xint.html#a95d8f6a792d953e6f1b3b1d1b43a05dc">boost::xint</a>
-</li>
-<li>duplicate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af233ab6ae59b3ef29d352b8d08cf772f">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x66.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x66.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li class="current">f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
-</li>
-<li>fixed_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">boost::xint</a>
-</li>
-<li>fixed_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">boost::xint</a>
-</li>
-<li>fixed_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">boost::xint</a>
-</li>
-<li>fixed_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
-</li>
-<li>fixed_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
-</li>
-<li>fixed_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
-</li>
-<li>from_string()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
-</li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x67.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x67.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li class="current">g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a125277404ae139bee70547f2d51d3e0e">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x68.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x68.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li class="current">h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a058c69285b794392f3e5853355d0fa3e">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x69.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x69.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li class="current">i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">boost::xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x6c.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x6c.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li class="current">l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
-</li>
-<li>log10_bits()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail</a>
-</li>
-<li>log2()
-: <a class="el" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a080731f708e62fc429687bf450f36fa2">boost::xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a09477129544d4bdb08ddd63644683f5c">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x6d.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x6d.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li class="current">m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x6e.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x6e.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li class="current">n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>negate()
-: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
-</li>
-<li>nothrow_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
-</li>
-<li>nothrow_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint</a>
-</li>
-<li>nothrow_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
-</li>
-<li>nothrow_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
-</li>
-<li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
-</li>
-<li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x6f.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x6f.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li class="current">o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!=()
-: <a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">boost::xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">boost::xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">boost::xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">boost::xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x70.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x70.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li class="current">p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ae92b86a29007f48749f17d54f36f469a">boost::xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x72.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x72.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li class="current">r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
-</li>
-<li>reallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x73.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x73.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,108 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li class="current">s</li>
- <li>t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#aaf72216ae1986d06d4f39c27cada42d6">boost::xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespaceboost_1_1xint.html#ad62ca08dc3d7600eee872dc5a95c338c">boost::xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespaceboost_1_1xint.html#a295196e5fa8931578d27468cb5154f07">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#ae64aa02c6217ea9f53f25d4f44ddddd1">boost::xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespaceboost_1_1xint.html#a7516b17b5c54a012c9dbdc9a45e2142b">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">boost::xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a218c0f1ddaaa8c978b3f84219ef712d2">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
-</li>
-<li>swap()
-: <a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x74.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x74.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li class="current">t</li>
- <li>z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>to()
-: <a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">boost::xint::detail</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a2691e17588d7a0bb6614d5bdeb66cd4c">boost::xint</a>
-, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint</a>
-</li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespacemembers_func_0x7a.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func_0x7a.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li class="current">z</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail</a>
-</li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/namespacemembers_type.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_type.html (original)
+++ sandbox/xint/doc/namespacemembers_type.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -40,15 +40,9 @@
 <li>callback_t
 : <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
 </li>
-<li>digit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail</a>
-</li>
-<li>doubledigit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail</a>
-</li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -37,33 +37,12 @@
 <li>autobase
 : <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
 </li>
-<li>bits_per_digit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail</a>
-</li>
-<li>digit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail</a>
-</li>
-<li>digit_mask
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail</a>
-</li>
-<li>digit_overflowbit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail</a>
-</li>
-<li>digits_in_uintmax
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail</a>
-</li>
-<li>doubledigit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail</a>
-</li>
-<li>nan_text
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail</a>
-</li>
 <li>no_callback
 : <a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/nan_8dox.html
==============================================================================
--- sandbox/xint/doc/nan_8dox.html (original)
+++ sandbox/xint/doc/nan_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -43,7 +43,7 @@
 <a name="l00023"></a>00023
 <a name="l00028"></a>00028 <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> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
 <a name="l00029"></a>00029 <span class="keywordflow">try</span> {
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">detail::getbit</a>(n, bit);
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">detail::getbit</a>(n, bit);
 <a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00032"></a>00032 <span class="keywordflow">return</span> <span class="keyword">false</span>;
 <a name="l00033"></a>00033 }
@@ -51,7 +51,7 @@
 <a name="l00035"></a>00035
 <a name="l00037"></a>00037 <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>(nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
 <a name="l00038"></a>00038 <span class="keywordflow">try</span> {
-<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">detail::setbit</a>(n, bit);
+<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">detail::setbit</a>(n, bit);
 <a name="l00040"></a>00040 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00041"></a>00041 <span class="comment">// Do nothing</span>
 <a name="l00042"></a>00042 }
@@ -59,7 +59,7 @@
 <a name="l00044"></a>00044
 <a name="l00046"></a>00046 <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>(nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
 <a name="l00047"></a>00047 <span class="keywordflow">try</span> {
-<a name="l00048"></a>00048 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">detail::clearbit</a>(n, bit);
+<a name="l00048"></a>00048 <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">detail::clearbit</a>(n, bit);
 <a name="l00049"></a>00049 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00050"></a>00050 <span class="comment">// Do nothing</span>
 <a name="l00051"></a>00051 }
@@ -67,7 +67,7 @@
 <a name="l00053"></a>00053
 <a name="l00058"></a>00058 <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> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
 <a name="l00059"></a>00059 <span class="keywordflow">try</span> {
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">detail::lowestbit</a>(n, valueIfZero);
+<a name="l00060"></a>00060 <span class="keywordflow">return</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.">detail::lowestbit</a>(n, valueIfZero);
 <a name="l00061"></a>00061 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00062"></a>00062 <span class="keywordflow">return</span> 0;
 <a name="l00063"></a>00063 }
@@ -75,7 +75,7 @@
 <a name="l00065"></a>00065
 <a name="l00070"></a>00070 <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> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
 <a name="l00071"></a>00071 <span class="keywordflow">try</span> {
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">detail::highestbit</a>(n, valueIfZero);
+<a name="l00072"></a>00072 <span class="keywordflow">return</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.">detail::highestbit</a>(n, valueIfZero);
 <a name="l00073"></a>00073 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00074"></a>00074 <span class="keywordflow">return</span> 0;
 <a name="l00075"></a>00075 }
@@ -84,7 +84,7 @@
 <a name="l00079"></a>00079 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00080"></a>00080 <span class="keywordflow">try</span> {
 <a name="l00081"></a>00081 nothrow_integer r;
-<a name="l00082"></a>00082 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">detail::bitwise_and</a>(r, n1, n2);
+<a name="l00082"></a>00082 <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(r, n1, n2);
 <a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00084"></a>00084 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00085"></a>00085 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -94,7 +94,7 @@
 <a name="l00090"></a>00090 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00091"></a>00091 <span class="keywordflow">try</span> {
 <a name="l00092"></a>00092 nothrow_integer r;
-<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">detail::bitwise_or</a>(r, n1, n2);
+<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(r, n1, n2);
 <a name="l00094"></a>00094 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00095"></a>00095 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00096"></a>00096 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -104,7 +104,7 @@
 <a name="l00101"></a>00101 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00102"></a>00102 <span class="keywordflow">try</span> {
 <a name="l00103"></a>00103 nothrow_integer r;
-<a name="l00104"></a>00104 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">detail::bitwise_xor</a>(r, n1, n2);
+<a name="l00104"></a>00104 <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(r, n1, n2);
 <a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00106"></a>00106 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -119,7 +119,7 @@
 <a name="l00118"></a>00118 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00119"></a>00119 <span class="keywordflow">try</span> {
 <a name="l00120"></a>00120 nothrow_integer r;
-<a name="l00121"></a>00121 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(r, n, byBits);
+<a name="l00121"></a>00121 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(r, n, byBits);
 <a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00123"></a>00123 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00124"></a>00124 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -129,7 +129,7 @@
 <a name="l00129"></a>00129 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00130"></a>00130 <span class="keywordflow">try</span> {
 <a name="l00131"></a>00131 nothrow_integer r;
-<a name="l00132"></a>00132 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">detail::shift_right</a>(r, n, byBits);
+<a name="l00132"></a>00132 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(r, n, byBits);
 <a name="l00133"></a>00133 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00134"></a>00134 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00135"></a>00135 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -49,7 +49,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a43189615a1bfb4904c969efe846cefc6">boost::xint::operator!=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">boost::xint::operator&lt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">boost::xint::operator&lt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint::operator&gt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint::operator&gt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 </table>
@@ -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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -43,34 +43,34 @@
 <a name="l00023"></a>00023
 <a name="l00028"></a>00028 <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> nothrow_integer &amp;b1, <span class="keyword">const</span> nothrow_integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
 <a name="l00029"></a>00029 <span class="keywordflow">if</span> (b1.is_nan() || b2.is_nan()) <span class="keywordflow">return</span> 0;
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2);
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">detail::compare</a>(b1, b2);
 <a name="l00031"></a>00031 }
 <a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keyword">namespace </span>{
-<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00035"></a>00035 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> nothrow_integer &amp;b1, <span class="keyword">const</span> nothrow_integer &amp;b2, <span class="keyword">const</span> T&amp; t) {
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (b1.is_nan() || b2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2), 0);
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039 } <span class="comment">// namespace</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2) {
-<a name="l00042"></a>00042 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
-<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00044"></a>00044 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
-<a name="l00045"></a>00045 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00046"></a>00046 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
-<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00048"></a>00048 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
-<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00050"></a>00050 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
-<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 } <span class="comment">// namespace xint</span>
-<a name="l00055"></a>00055 } <span class="comment">// namespace boost</span>
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>detail {
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00036"></a>00036 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> nothrow_integer &amp;b1, <span class="keyword">const</span> nothrow_integer &amp;b2, <span class="keyword">const</span> T&amp; t) {
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (b1.is_nan() || b2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00038"></a>00038 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">detail::compare</a>(b1, b2), 0);
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040 } <span class="comment">// namespace detail</span>
+<a name="l00042"></a>00042 <span class="comment"></span>
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2) {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::equal_to&lt;int&gt;()); }
+<a name="l00045"></a>00045 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::less&lt;int&gt;()); }
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::greater&lt;int&gt;()); }
+<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::less_equal&lt;int&gt;()); }
+<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> detail::cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
+<a name="l00055"></a>00055
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -41,52 +41,50 @@
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">using namespace </span>detail;
-<a name="l00027"></a>00027
-<a name="l00035"></a>00035 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> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
-<a name="l00036"></a>00036 <span class="keywordflow">try</span> {
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">detail::to_string</a>(n, base, uppercase);
-<a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00039"></a>00039 <span class="keywordflow">return</span> std::string();
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042
-<a name="l00047"></a>00047 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00048"></a>00048 <span class="keywordflow">try</span> {
-<a name="l00049"></a>00049 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 nothrow_integer r;
-<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(r, str, base);
-<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00054"></a>00054 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00060"></a>00060 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
-<a name="l00061"></a>00061 <span class="keywordflow">try</span> {
-<a name="l00062"></a>00062 nothrow_integer r;
-<a name="l00063"></a>00063 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">detail::from_binary</a>(r, b, bits);
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00065"></a>00065 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00074"></a>00074 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bits) {
-<a name="l00075"></a>00075 <span class="keywordflow">try</span> {
-<a name="l00076"></a>00076 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
-<a name="l00077"></a>00077 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">detail::to_binary</a>(r, n, bits);
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00079"></a>00079 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>();
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 } <span class="comment">// namespace xint</span>
-<a name="l00085"></a>00085 } <span class="comment">// namespace boost</span>
+<a name="l00033"></a>00033 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> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
+<a name="l00034"></a>00034 <span class="keywordflow">try</span> {
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">detail::to_string</a>(n, base, uppercase);
+<a name="l00036"></a>00036 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> std::string();
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00045"></a>00045 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00046"></a>00046 <span class="keywordflow">try</span> {
+<a name="l00047"></a>00047 <span class="keywordflow">if</span> (str==detail::nan_text) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 nothrow_integer r;
+<a name="l00050"></a>00050 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(r, str, base);
+<a name="l00051"></a>00051 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00052"></a>00052 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056
+<a name="l00058"></a>00058 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
+<a name="l00059"></a>00059 <span class="keywordflow">try</span> {
+<a name="l00060"></a>00060 nothrow_integer r;
+<a name="l00061"></a>00061 <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">detail::from_binary</a>(r, b, bits);
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00063"></a>00063 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00072"></a>00072 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bits) {
+<a name="l00073"></a>00073 <span class="keywordflow">try</span> {
+<a name="l00074"></a>00074 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
+<a name="l00075"></a>00075 <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">detail::to_binary</a>(r, n, bits);
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00077"></a>00077 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>();
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,7 +44,7 @@
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
 <a name="l00026"></a>00026 <span class="keywordflow">try</span> {
 <a name="l00027"></a>00027 nothrow_integer r;
-<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">detail::gcd</a>(r, num1, num2);
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">detail::gcd</a>(r, num1, num2);
 <a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -54,7 +54,7 @@
 <a name="l00036"></a>00036 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
 <a name="l00037"></a>00037 <span class="keywordflow">try</span> {
 <a name="l00038"></a>00038 nothrow_integer r;
-<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">detail::lcm</a>(r, num1, num2);
+<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">detail::lcm</a>(r, num1, num2);
 <a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -42,180 +42,179 @@
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keyword">const</span> std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
-<a name="l00025"></a>00025
-<a name="l00027"></a>00027 <span class="comment">// The nothrow_integer class</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>{
-<a name="l00030"></a>00030 std::auto_ptr&lt;nothrow_integer&gt; cZero, cOne, cNaN;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">00034</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>() {
-<a name="l00035"></a>00035 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>();
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00049"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">00049</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>&amp; b) {
-<a name="l00050"></a>00050 <span class="keywordflow">try</span> {
-<a name="l00051"></a>00051 <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>()) <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00052"></a>00052 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00053"></a>00053 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00067"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">00067</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>&amp; b) {
-<a name="l00068"></a>00068 <span class="keywordflow">try</span> {
-<a name="l00069"></a>00069 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00070"></a>00070 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00071"></a>00071 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074
-<a name="l00081"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">00081</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>&amp; b) {
-<a name="l00082"></a>00082 <span class="keywordflow">try</span> {
-<a name="l00083"></a>00083 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
-<a name="l00084"></a>00084 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00085"></a>00085 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00090"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">00090</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&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00091"></a>00091 <span class="keywordflow">try</span> {
-<a name="l00092"></a>00092 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(<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 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00094"></a>00094 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097
-<a name="l00102"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">00102</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">nothrow_integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00103"></a>00103 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00104"></a>00104 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==1);
-<a name="l00105"></a>00105 }
-<a name="l00106"></a>00106
-<a name="l00111"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">00111</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">nothrow_integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00112"></a>00112 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==0);
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115
-<a name="l00120"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">00120</a> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">nothrow_integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
-<a name="l00122"></a>00122 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) <span class="keywordflow">return</span> 0;
-<a name="l00123"></a>00123 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125
-<a name="l00130"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">00130</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">nothrow_integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00131"></a>00131 <span class="keywordflow">try</span> {
-<a name="l00132"></a>00132 <span class="keywordtype">size_t</span> bits=<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>();
-<a name="l00133"></a>00133 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
-<a name="l00134"></a>00134 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00135"></a>00135 <span class="keywordflow">return</span> 0;
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138
-<a name="l00145"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">00145</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">nothrow_integer::is_nan</a>()<span class="keyword"> const </span>{
-<a name="l00146"></a>00146 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>();
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148
-<a name="l00149"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">00149</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">nothrow_integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend) {
-<a name="l00150"></a>00150 <span class="keywordflow">try</span> {
-<a name="l00151"></a>00151 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, addend);
-<a name="l00152"></a>00152 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00153"></a>00153 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">00158</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">nothrow_integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; subtrahend) {
-<a name="l00159"></a>00159 <span class="keywordflow">try</span> {
-<a name="l00160"></a>00160 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, subtrahend);
-<a name="l00161"></a>00161 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00162"></a>00162 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166
-<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">00167</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">nothrow_integer::operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(
-<a name="l00168"></a>00168 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c)
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keywordflow">try</span> {
-<a name="l00171"></a>00171 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
-<a name="l00172"></a>00172 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
-<a name="l00174"></a>00174 }
-<a name="l00175"></a>00175 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177
-<a name="l00178"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">00178</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">nothrow_integer::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>); }
-<a name="l00179"></a>00179
-<a name="l00180"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">00180</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">nothrow_integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00181"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">00181</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">nothrow_integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00182"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">00182</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">nothrow_integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00183"></a>00183
-<a name="l00184"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">00184</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">nothrow_integer::operator++</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keyword">true</span>); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00185"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">00185</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">nothrow_integer::operator--</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keyword">true</span>); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00186"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">00186</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">nothrow_integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keyword">true</span>); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
-<a name="l00187"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">00187</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">nothrow_integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keyword">true</span>); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
-<a name="l00188"></a>00188
-<a name="l00189"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">00189</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">nothrow_integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00190"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">00190</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">nothrow_integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00191"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">00191</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">nothrow_integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00192"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">00192</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">nothrow_integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00193"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">00193</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">nothrow_integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00194"></a>00194
-<a name="l00195"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">00195</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">nothrow_integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00196"></a>00196 <span class="keywordflow">try</span> {
-<a name="l00197"></a>00197 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
-<a name="l00198"></a>00198 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00199"></a>00199 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00200"></a>00200 }
-<a name="l00201"></a>00201 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203
-<a name="l00204"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">00204</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">nothrow_integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00205"></a>00205 <span class="keywordflow">try</span> {
-<a name="l00206"></a>00206 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
-<a name="l00207"></a>00207 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00208"></a>00208 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212
-<a name="l00213"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">00213</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">nothrow_integer::zero</a>() {
-<a name="l00214"></a>00214 <span class="keywordflow">if</span> (cZero.get()==0) {
-<a name="l00215"></a>00215 cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()));
-<a name="l00216"></a>00216 cZero-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
-<a name="l00217"></a>00217 }
-<a name="l00218"></a>00218 <span class="keywordflow">return</span> *cZero;
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220
-<a name="l00221"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">00221</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">nothrow_integer::one</a>() {
-<a name="l00222"></a>00222 <span class="keywordflow">if</span> (cOne.get()==0) {
-<a name="l00223"></a>00223 cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()));
-<a name="l00224"></a>00224 cOne-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
-<a name="l00225"></a>00225 }
-<a name="l00226"></a>00226 <span class="keywordflow">return</span> *cOne;
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00229"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">00229</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>() {
-<a name="l00230"></a>00230 <span class="keywordflow">if</span> (cNaN.get()==0) {
-<a name="l00231"></a>00231 cNaN.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>());
-<a name="l00232"></a>00232 cNaN-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
-<a name="l00233"></a>00233 cNaN-&gt;_set_readonly();
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">return</span> *cNaN;
-<a name="l00236"></a>00236 }
-<a name="l00237"></a>00237
-<a name="l00238"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">00238</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">nothrow_integer::_make_unique</a>(<span class="keywordtype">bool</span>) {
-<a name="l00239"></a>00239 <span class="keywordflow">try</span> {
-<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">detail::base_integer::_make_unique</a>();
-<a name="l00241"></a>00241 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00242"></a>00242 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0); <span class="comment">// Turns it into a Not-a-Number.</span>
-<a name="l00243"></a>00243 }
-<a name="l00244"></a>00244 }
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 } <span class="comment">// namespace xint</span>
-<a name="l00247"></a>00247 } <span class="comment">// namespace boost</span>
+<a name="l00025"></a>00025 <span class="keyword">const</span> std::string detail::nan_text(<span class="stringliteral">&quot;#NaN#&quot;</span>);
+<a name="l00027"></a>00027
+<a name="l00029"></a>00029 <span class="comment">// The nothrow_integer class</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 std::auto_ptr&lt;nothrow_integer&gt; nothrow_integer::cZero, nothrow_integer::cOne,
+<a name="l00032"></a>00032 nothrow_integer::cNaN;
+<a name="l00033"></a>00033
+<a name="l00035"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">00035</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>() {
+<a name="l00036"></a>00036 _attach_0();
+<a name="l00037"></a>00037 }
+<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>&amp; 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="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00054"></a>00054 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 }
+<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>&amp; b) {
+<a name="l00069"></a>00069 <span class="keywordflow">try</span> {
+<a name="l00070"></a>00070 _attach(b);
+<a name="l00071"></a>00071 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00072"></a>00072 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<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>&amp; b) {
+<a name="l00083"></a>00083 <span class="keywordflow">try</span> {
+<a name="l00084"></a>00084 _attach(b);
+<a name="l00085"></a>00085 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00086"></a>00086 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 }
+<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&amp; 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="l00094"></a>00094 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00095"></a>00095 <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00103"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">00103</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">nothrow_integer::odd</a>()<span class="keyword"> const </span>{
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> ((_get_digit(0) &amp; 0x01)==1);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00112"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">00112</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">nothrow_integer::even</a>()<span class="keyword"> const </span>{
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> ((_get_digit(0) &amp; 0x01)==0);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00121"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">00121</a> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">nothrow_integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
+<a name="l00123"></a>00123 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; _is_zero()) <span class="keywordflow">return</span> 0;
+<a name="l00124"></a>00124 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (_get_negative() ? -1 : 1);
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00131"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">00131</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">nothrow_integer::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00132"></a>00132 <span class="keywordflow">try</span> {
+<a name="l00133"></a>00133 <span class="keywordtype">size_t</span> bits=_log2();
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
+<a name="l00135"></a>00135 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> 0;
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139
+<a name="l00146"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">00146</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">nothrow_integer::is_nan</a>()<span class="keyword"> const </span>{
+<a name="l00147"></a>00147 <span class="keywordflow">return</span> _is_nan();
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149
+<a name="l00150"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">00150</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">nothrow_integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend) {
+<a name="l00151"></a>00151 <span class="keywordflow">try</span> {
+<a name="l00152"></a>00152 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, addend);
+<a name="l00153"></a>00153 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00154"></a>00154 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">00159</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">nothrow_integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; subtrahend) {
+<a name="l00160"></a>00160 <span class="keywordflow">try</span> {
+<a name="l00161"></a>00161 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, subtrahend);
+<a name="l00162"></a>00162 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00163"></a>00163 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">00168</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">nothrow_integer::operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(
+<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="l00173"></a>00173 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00174"></a>00174 _base_attach(0);
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178
+<a name="l00179"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">00179</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">nothrow_integer::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>); }
+<a name="l00180"></a>00180
+<a name="l00181"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">00181</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">nothrow_integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00182"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">00182</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">nothrow_integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00183"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">00183</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">nothrow_integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00184"></a>00184
+<a name="l00185"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">00185</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">nothrow_integer::operator++</a>() { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">_make_unique</a>(<span class="keyword">true</span>); _increment(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00186"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">00186</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">nothrow_integer::operator--</a>() { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">_make_unique</a>(<span class="keyword">true</span>); _decrement(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00187"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">00187</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">nothrow_integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">_make_unique</a>(<span class="keyword">true</span>); _increment(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00188"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">00188</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">nothrow_integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">_make_unique</a>(<span class="keyword">true</span>); _decrement(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00189"></a>00189
+<a name="l00190"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">00190</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">nothrow_integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00191"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">00191</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">nothrow_integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00192"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">00192</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">nothrow_integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00193"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">00193</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">nothrow_integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00194"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">00194</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">nothrow_integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00195"></a>00195
+<a name="l00196"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">00196</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">nothrow_integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00197"></a>00197 <span class="keywordflow">try</span> {
+<a name="l00198"></a>00198 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00199"></a>00199 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00200"></a>00200 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204
+<a name="l00205"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">00205</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">nothrow_integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00206"></a>00206 <span class="keywordflow">try</span> {
+<a name="l00207"></a>00207 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00208"></a>00208 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00209"></a>00209 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00212"></a>00212 }
+<a name="l00213"></a>00213
+<a name="l00214"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">00214</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">nothrow_integer::zero</a>() {
+<a name="l00215"></a>00215 <span class="keywordflow">if</span> (cZero.get()==0) {
+<a name="l00216"></a>00216 cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()));
+<a name="l00217"></a>00217 cZero-&gt;_set_readonly();
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> *cZero;
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00222"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">00222</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">nothrow_integer::one</a>() {
+<a name="l00223"></a>00223 <span class="keywordflow">if</span> (cOne.get()==0) {
+<a name="l00224"></a>00224 cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()));
+<a name="l00225"></a>00225 cOne-&gt;_set_readonly();
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 <span class="keywordflow">return</span> *cOne;
+<a name="l00228"></a>00228 }
+<a name="l00229"></a>00229
+<a name="l00230"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">00230</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>() {
+<a name="l00231"></a>00231 <span class="keywordflow">if</span> (cNaN.get()==0) {
+<a name="l00232"></a>00232 cNaN.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>());
+<a name="l00233"></a>00233 cNaN-&gt;_base_attach(0);
+<a name="l00234"></a>00234 cNaN-&gt;_set_readonly();
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 <span class="keywordflow">return</span> *cNaN;
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238
+<a name="l00239"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">00239</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">nothrow_integer::_make_unique</a>(<span class="keywordtype">bool</span>) {
+<a name="l00240"></a>00240 <span class="keywordflow">try</span> {
+<a name="l00241"></a>00241 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">detail::base_integer::_make_unique</a>();
+<a name="l00242"></a>00242 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00243"></a>00243 _base_attach(0); <span class="comment">// Turns it into a Not-a-Number.</span>
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -122,7 +122,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">boost::xint::operator/</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">boost::xint::operator&lt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">boost::xint::operator&lt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint::operator&gt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint::operator&gt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint::operator^</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</td></tr>
@@ -142,7 +142,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,12 +44,12 @@
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025
-<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html">00034</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a> {
+<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html">00034</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>: <span class="keyword">public</span> detail::base_variable_length_integer {
 <a name="l00035"></a>00035 <span class="keyword">public</span>:
 <a name="l00036"></a>00036
 <a name="l00039"></a>00039 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>();
 <a name="l00040"></a>00040 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">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>&amp; b);
-<a name="l00041"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">00041</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">nothrow_integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) b) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(b); }
+<a name="l00041"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">00041</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">nothrow_integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) b) { _swap(b); }
 <a name="l00042"></a>00042 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">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>&amp; b);
 <a name="l00043"></a>00043 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">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>&amp; b);
 <a name="l00044"></a>00044 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
@@ -61,12 +61,12 @@
 <a name="l00050"></a>00050 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
 <a name="l00052"></a>00052
 <a name="l00062"></a>00062 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c);
-<a name="l00063"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">00063</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(c);
+<a name="l00063"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">00063</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c) { _swap(c);
 <a name="l00064"></a>00064 <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00065"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">00065</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">operator=</a>(<span class="keyword">const</span> T&amp; n) {
-<a name="l00066"></a>00066 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> nn(n); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00066"></a>00066 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> nn(n); _swap(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00067"></a>00067
-<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">00068</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">00068</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _is_zero(); }
 <a name="l00069"></a>00069 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">operator-</a>() <span class="keyword">const</span>;
 <a name="l00070"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">00070</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00071"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">00071</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
@@ -101,230 +101,232 @@
 <a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>();
 <a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nan</a>();
 <a name="l00114"></a>00114
-<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keywordtype">bool</span>);
+<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803" title="For internal use only.">_make_unique</a>(<span class="keywordtype">bool</span>);
 <a name="l00117"></a>00117
 <a name="l00118"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">00118</a> <span class="keyword">typedef</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&lt;nothrow_integer&gt;</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a>;
 <a name="l00119"></a>00119
 <a name="l00120"></a>00120 <span class="keyword">private</span>:
 <a name="l00121"></a>00121 <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>)
-<a name="l00122"></a>00122 };
-<a name="l00123"></a>00123
-<a name="l00126"></a>00126 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00127"></a>00127 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend);
-<a name="l00129"></a>00129 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00130"></a>00130 subtrahend);
-<a name="l00131"></a>00131 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00132"></a>00132 multiplicand);
-<a name="l00133"></a>00133 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00134"></a>00134 divisor);
-<a name="l00135"></a>00135 <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">nothrow_integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, <span class="keyword">const</span>
-<a name="l00136"></a>00136 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; divisor);
-<a name="l00138"></a>00138
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 static std::auto_ptr&lt;<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&gt; cZero, cOne, cNaN;
+<a name="l00124"></a>00124 };
+<a name="l00125"></a>00125
+<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00129"></a>00129 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00130"></a>00130 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend);
+<a name="l00131"></a>00131 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00132"></a>00132 subtrahend);
+<a name="l00133"></a>00133 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00134"></a>00134 multiplicand);
+<a name="l00135"></a>00135 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00136"></a>00136 divisor);
+<a name="l00137"></a>00137 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>::<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, const
+<a name="l00138"></a>00138 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; divisor);
 <a name="l00140"></a>00140
-<a name="l00143"></a>00143 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00144"></a>00144 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; exponent);
-<a name="l00145"></a>00145 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00147"></a>00147 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00149"></a>00149
+<a name="l00142"></a>00142
+<a name="l00145"></a>00145 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; exponent);
+<a name="l00147"></a>00147 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a>(<span class="keywordtype">size_t</span> exponent);
+<a name="l00148"></a>00148 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n);
+<a name="l00149"></a>00149 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
 <a name="l00151"></a>00151
-<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00155"></a>00155 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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase =
-<a name="l00156"></a>00156 <span class="keyword">false</span>);
-<a name="l00157"></a>00157 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00158"></a>00158 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
-<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; s, <span class="keywordtype">size_t</span> bits=0);
-<a name="l00161"></a>00161
+<a name="l00153"></a>00153
+<a name="l00156"></a>00156 template &lt;typename T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00157"></a>00157 std::<span class="keywordtype">string</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase =
+<a name="l00158"></a>00158 false);
+<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(const std::<span class="keywordtype">string</span>&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00160"></a>00160 xint::<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00161"></a>00161 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(const xint::<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a>&amp; s, <span class="keywordtype">size_t</span> bits=0);
 <a name="l00163"></a>00163
-<a name="l00166"></a>00166 <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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00167"></a>00167 <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>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00168"></a>00168 <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>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00169"></a>00169 <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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00170"></a>00170 <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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00171"></a>00171 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00172"></a>00172 n2);
-<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00165"></a>00165
+<a name="l00168"></a>00168 <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>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00169"></a>00169 <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>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00170"></a>00170 <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>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00171"></a>00171 <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>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00172"></a>00172 <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>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
 <a name="l00174"></a>00174 n2);
-<a name="l00175"></a>00175 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00175"></a>00175 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
 <a name="l00176"></a>00176 n2);
-<a name="l00177"></a>00177 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
-<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00179"></a>00179 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00181"></a>00181
+<a name="l00177"></a>00177 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00178"></a>00178 n2);
+<a name="l00179"></a>00179 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
+<a name="l00180"></a>00180 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00181"></a>00181 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
 <a name="l00183"></a>00183
-<a name="l00189"></a>00189
-<a name="l00190"></a>00190 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modBy);
-<a name="l00191"></a>00191 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; by,
-<a name="l00192"></a>00192 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus);
-<a name="l00193"></a>00193 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00194"></a>00194 modulus);
-<a name="l00195"></a>00195 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00196"></a>00196 exponent, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
-<a name="l00197"></a>00197 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00198"></a>00198 modulus);
-<a name="l00200"></a>00200
+<a name="l00185"></a>00185
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modBy);
+<a name="l00193"></a>00193 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; by,
+<a name="l00194"></a>00194 const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus);
+<a name="l00195"></a>00195 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00196"></a>00196 modulus);
+<a name="l00197"></a>00197 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00198"></a>00198 exponent, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus, <span class="keywordtype">bool</span> noMontgomery=false);
+<a name="l00199"></a>00199 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00200"></a>00200 modulus);
 <a name="l00202"></a>00202
-<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>,
-<a name="l00206"></a>00206 <span class="keywordtype">bool</span> lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
-<a name="l00208"></a>00208
+<a name="l00204"></a>00204
+<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=false,
+<a name="l00208"></a>00208 <span class="keywordtype">bool</span> lowBitOn=false, <span class="keywordtype">bool</span> canBeNegative=false);
 <a name="l00210"></a>00210
-<a name="l00213"></a>00213 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00214"></a>00214 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
-<a name="l00215"></a>00215 <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00217"></a>00217
+<a name="l00212"></a>00212
+<a name="l00215"></a>00215 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
+<a name="l00217"></a>00217 no_callback);
 <a name="l00219"></a>00219
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00226"></a>00226 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00227"></a>00227 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00228"></a>00228 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00229"></a>00229 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00230"></a>00230 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00231"></a>00231
-<a name="l00232"></a>00232 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00233"></a>00233 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00234"></a>00234 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00238"></a>00238 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00239"></a>00239 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00241"></a>00241
+<a name="l00221"></a>00221
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00228"></a>00228 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00229"></a>00229 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00230"></a>00230 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00231"></a>00231 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00232"></a>00232 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00238"></a>00238 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00239"></a>00239 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00241"></a>00241 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
 <a name="l00243"></a>00243
-<a name="l00246"></a>00246 <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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
-<a name="l00247"></a>00247 ignoresign=<span class="keyword">false</span>);
-<a name="l00248"></a>00248 <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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00249"></a>00249 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00250"></a>00250 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00252"></a>00252
-<a name="l00254"></a>00254 <span class="comment">// Template function definitions</span>
-<a name="l00255"></a>00255
-<a name="l00268"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00268</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00269"></a>00269 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00270"></a>00270 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00271"></a>00271 {
-<a name="l00272"></a>00272 <span class="keywordflow">try</span> {
-<a name="l00273"></a>00273 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
-<a name="l00274"></a>00274 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00275"></a>00275 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
-<a name="l00276"></a>00276 }
-<a name="l00277"></a>00277 }
-<a name="l00278"></a>00278
-<a name="l00291"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00291</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00292"></a>00292 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00293"></a>00293 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00294"></a>00294 {
-<a name="l00295"></a>00295 <span class="keywordflow">try</span> {
-<a name="l00296"></a>00296 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
-<a name="l00297"></a>00297 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00298"></a>00298 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
-<a name="l00299"></a>00299 }
-<a name="l00300"></a>00300 }
-<a name="l00301"></a>00301
-<a name="l00306"></a>00306 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00307"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00307</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
-<a name="l00308"></a>00308 <span class="keywordflow">try</span> {
-<a name="l00309"></a>00309 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
-<a name="l00310"></a>00310 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00311"></a>00311 <span class="keywordflow">return</span> 0;
-<a name="l00312"></a>00312 }
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314
-<a name="l00317"></a>00317 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00318"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00318</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00319"></a>00319 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00320"></a>00320 {
-<a name="l00321"></a>00321 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00322"></a>00322 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>;
-<a name="l00323"></a>00323 <span class="keywordflow">return</span> out;
-<a name="l00324"></a>00324 } <span class="keywordflow">else</span> {
-<a name="l00325"></a>00325 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328
-<a name="l00329"></a>00329 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00330"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00330</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00331"></a>00331 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00332"></a>00332 {
-<a name="l00333"></a>00333 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
-<a name="l00334"></a>00334 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l00335"></a>00335 <span class="keywordtype">char</span> buffer[6];
-<a name="l00336"></a>00336
-<a name="l00337"></a>00337 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
-<a name="l00338"></a>00338 <span class="comment">//std::streamsize size=in.readsome(buffer, 5);</span>
-<a name="l00339"></a>00339 <span class="comment">//buffer[size]=0;</span>
-<a name="l00340"></a>00340
-<a name="l00341"></a>00341 <span class="comment">// Replacing them with these.</span>
-<a name="l00342"></a>00342 <span class="keywordtype">char</span> *p = buffer, *pe = p + 5;
-<a name="l00343"></a>00343 <span class="keywordflow">while</span> (p != pe) in &gt;&gt; *p++;
-<a name="l00344"></a>00344 *p = 0;
-<a name="l00345"></a>00345
-<a name="l00346"></a>00346 std::string str(buffer);
+<a name="l00245"></a>00245
+<a name="l00248"></a>00248 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
+<a name="l00249"></a>00249 ignoresign=false);
+<a name="l00250"></a>00250 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00251"></a>00251 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00252"></a>00252 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00254"></a>00254
+<a name="l00256"></a>00256 <span class="comment">// Template function definitions</span>
+<a name="l00257"></a>00257
+<a name="l00270"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00270</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>::<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>(const T&amp; n,
+<a name="l00271"></a>00271 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00272"></a>00272 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00273"></a>00273 {
+<a name="l00274"></a>00274 <span class="keywordflow">try</span> {
+<a name="l00275"></a>00275 _set_signed(n);
+<a name="l00276"></a>00276 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00277"></a>00277 _base_attach(0);
+<a name="l00278"></a>00278 }
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280
+<a name="l00293"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00293</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00294"></a>00294 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00295"></a>00295 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00296"></a>00296 {
+<a name="l00297"></a>00297 <span class="keywordflow">try</span> {
+<a name="l00298"></a>00298 _set_unsigned(n);
+<a name="l00299"></a>00299 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00300"></a>00300 _base_attach(0);
+<a name="l00301"></a>00301 }
+<a name="l00302"></a>00302 }
+<a name="l00303"></a>00303
+<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00309"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00309</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
+<a name="l00310"></a>00310 <span class="keywordflow">try</span> {
+<a name="l00311"></a>00311 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00312"></a>00312 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00313"></a>00313 <span class="keywordflow">return</span> 0;
+<a name="l00314"></a>00314 }
+<a name="l00315"></a>00315 }
+<a name="l00316"></a>00316
+<a name="l00319"></a>00319 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00320"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00320</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00321"></a>00321 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00322"></a>00322 {
+<a name="l00323"></a>00323 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00324"></a>00324 out &lt;&lt; detail::nan_text;
+<a name="l00325"></a>00325 <span class="keywordflow">return</span> out;
+<a name="l00326"></a>00326 } <span class="keywordflow">else</span> {
+<a name="l00327"></a>00327 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 }
+<a name="l00330"></a>00330
+<a name="l00331"></a>00331 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00332"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00332</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00333"></a>00333 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
+<a name="l00336"></a>00336 <span class="comment">// Must be either #NaN# or an error</span>
+<a name="l00337"></a>00337 <span class="keywordtype">char</span> buffer[6];
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
+<a name="l00340"></a>00340 <span class="comment">//std::streamsize size=in.readsome(buffer, 5);</span>
+<a name="l00341"></a>00341 <span class="comment">//buffer[size]=0;</span>
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="comment">// Replacing them with these.</span>
+<a name="l00344"></a>00344 <span class="keywordtype">char</span> *p = buffer, *pe = p + 5;
+<a name="l00345"></a>00345 <span class="keywordflow">while</span> (p != pe) in &gt;&gt; *p++;
+<a name="l00346"></a>00346 *p = 0;
 <a name="l00347"></a>00347
-<a name="l00348"></a>00348 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00349"></a>00349 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l00350"></a>00350 <span class="keywordflow">return</span> in;
-<a name="l00351"></a>00351 } <span class="keywordflow">else</span> {
-<a name="l00352"></a>00352 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
-<a name="l00353"></a>00353 }
-<a name="l00354"></a>00354 }
-<a name="l00356"></a>00356
-<a name="l00357"></a><a class="code" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">00357</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; right) {
-<a name="l00358"></a>00358 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
-<a name="l00359"></a>00359 }
-<a name="l00360"></a>00360
-<a name="l00361"></a>00361 } <span class="comment">// namespace xint</span>
-<a name="l00362"></a>00362 } <span class="comment">// namespace boost</span>
-<a name="l00363"></a>00363
-<a name="l00364"></a>00364 <span class="keyword">namespace </span>std {
-<a name="l00365"></a>00365 <span class="keyword">template</span>&lt;&gt;
-<a name="l00366"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00366</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
-<a name="l00367"></a>00367 <span class="keyword">public</span>:
-<a name="l00368"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00368</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00369"></a>00369
-<a name="l00370"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00370</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00371"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00371</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00372"></a>00372
-<a name="l00373"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00373</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00374"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00374</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00375"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00375</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00376"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00376</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00377"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00377</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00378"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00378</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00379"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00379</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00380"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00380</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00381"></a>00381
-<a name="l00382"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00382</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00383"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00383</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00384"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00384</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00385"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00385</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00386"></a>00386
-<a name="l00387"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00387</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00388"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00388</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
-<a name="l00389"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00389</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00390"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00391"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00391</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00392"></a>00392
-<a name="l00393"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00393</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00394"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00394</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
-<a name="l00395"></a>00395 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
-<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00396</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00397"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00397</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00398"></a>00398
-<a name="l00399"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00399</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00400"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00400</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00402"></a>00402
-<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00404"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00404</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00406"></a>00406 };
-<a name="l00407"></a>00407 } <span class="comment">// namespace std</span>
-<a name="l00408"></a>00408
-<a name="l00409"></a>00409 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
+<a name="l00348"></a>00348 std::string str(buffer);
+<a name="l00349"></a>00349
+<a name="l00350"></a>00350 <span class="keywordflow">if</span> (str==detail::nan_text) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00351"></a>00351 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
+<a name="l00352"></a>00352 <span class="keywordflow">return</span> in;
+<a name="l00353"></a>00353 } <span class="keywordflow">else</span> {
+<a name="l00354"></a>00354 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00355"></a>00355 }
+<a name="l00356"></a>00356 }
+<a name="l00358"></a>00358
+<a name="l00359"></a><a class="code" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">00359</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; right) {
+<a name="l00360"></a>00360 left._swap(right);
+<a name="l00361"></a>00361 }
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 } <span class="comment">// namespace xint</span>
+<a name="l00364"></a>00364 } <span class="comment">// namespace boost</span>
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 <span class="keyword">namespace </span>std {
+<a name="l00367"></a>00367 <span class="keyword">template</span>&lt;&gt;
+<a name="l00368"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00368</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
+<a name="l00369"></a>00369 <span class="keyword">public</span>:
+<a name="l00370"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00370</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00371"></a>00371
+<a name="l00372"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00372</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00373"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00373</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00374"></a>00374
+<a name="l00375"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00375</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00376"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00376</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00377"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00377</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00378"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00378</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00379"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00379</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00380"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00380</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00381"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00381</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00382"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00382</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00383"></a>00383
+<a name="l00384"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00384</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00385"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00385</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00386"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00386</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00387"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00387</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00388"></a>00388
+<a name="l00389"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00389</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00390"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
+<a name="l00391"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00391</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00392"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00392</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00393"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00393</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00394"></a>00394
+<a name="l00395"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00395</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00396</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
+<a name="l00397"></a>00397 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
+<a name="l00398"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00398</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00399"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00399</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00400"></a>00400
+<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00402"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00402</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00404"></a>00404
+<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00406"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00406</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00407"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00407</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00408"></a>00408 };
+<a name="l00409"></a>00409 } <span class="comment">// namespace std</span>
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,7 +44,7 @@
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
 <a name="l00026"></a>00026 <span class="keywordflow">try</span> {
 <a name="l00027"></a>00027 nothrow_integer r;
-<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(r, n, m);
 <a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -72,7 +72,7 @@
 <a name="l00056"></a>00056 {
 <a name="l00057"></a>00057 <span class="keywordflow">try</span> {
 <a name="l00058"></a>00058 nothrow_integer r;
-<a name="l00059"></a>00059 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00059"></a>00059 <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">detail::powmod</a>(r, n, e, m, noMontgomery);
 <a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00061"></a>00061 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00062"></a>00062 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -82,7 +82,7 @@
 <a name="l00070"></a>00070 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
 <a name="l00071"></a>00071 <span class="keywordflow">try</span> {
 <a name="l00072"></a>00072 nothrow_integer r;
-<a name="l00073"></a>00073 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">detail::invmod</a>(r, n, m);
+<a name="l00073"></a>00073 <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">detail::invmod</a>(r, n, m);
 <a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00075"></a>00075 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -50,7 +50,7 @@
 <a name="l00032"></a>00032 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
 <a name="l00033"></a>00033 <span class="keywordflow">try</span> {
 <a name="l00034"></a>00034 nothrow_integer r;
-<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">detail::sqr</a>(r, n);
+<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">detail::sqr</a>(r, n);
 <a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00038"></a>00038 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -60,7 +60,7 @@
 <a name="l00043"></a>00043 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; e) {
 <a name="l00044"></a>00044 <span class="keywordflow">try</span> {
 <a name="l00045"></a>00045 nothrow_integer r;
-<a name="l00046"></a>00046 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">detail::pow</a>(r, n, e);
+<a name="l00046"></a>00046 <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">detail::pow</a>(r, n, e);
 <a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00049"></a>00049 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -70,7 +70,7 @@
 <a name="l00054"></a>00054 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n) {
 <a name="l00055"></a>00055 <span class="keywordflow">try</span> {
 <a name="l00056"></a>00056 nothrow_integer r;
-<a name="l00057"></a>00057 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">detail::factorial</a>(r, n);
+<a name="l00057"></a>00057 <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">detail::factorial</a>(r, n);
 <a name="l00058"></a>00058 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00059"></a>00059 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -50,7 +50,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -61,7 +61,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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -68,7 +68,7 @@
 <a name="l00051"></a>00051 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00052"></a>00052 <span class="keywordflow">try</span> {
 <a name="l00053"></a>00053 nothrow_integer r;
-<a name="l00054"></a>00054 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>(r, n1, n2);
+<a name="l00054"></a>00054 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(r, n1, n2);
 <a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00056"></a>00056 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00057"></a>00057 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -78,7 +78,7 @@
 <a name="l00062"></a>00062 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00063"></a>00063 <span class="keywordflow">try</span> {
 <a name="l00064"></a>00064 nothrow_integer r;
-<a name="l00065"></a>00065 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">detail::subtract</a>(r, n1, n2);
+<a name="l00065"></a>00065 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(r, n1, n2);
 <a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00067"></a>00067 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -88,7 +88,7 @@
 <a name="l00073"></a>00073 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; by) {
 <a name="l00074"></a>00074 <span class="keywordflow">try</span> {
 <a name="l00075"></a>00075 nothrow_integer r;
-<a name="l00076"></a>00076 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">detail::multiply</a>(r, n, by);
+<a name="l00076"></a>00076 <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(r, n, by);
 <a name="l00077"></a>00077 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00078"></a>00078 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00079"></a>00079 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -107,7 +107,7 @@
 <a name="l00097"></a>00097 {
 <a name="l00098"></a>00098 <span class="keywordflow">try</span> {
 <a name="l00099"></a>00099 nothrow_integer q, r;
-<a name="l00100"></a>00100 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, d1, d2);
+<a name="l00100"></a>00100 <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, d1, d2);
 <a name="l00101"></a>00101 <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_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>,
 <a name="l00102"></a>00102 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>( <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="l00103"></a>00103 } <span class="keywordflow">catch</span> (std::exception&amp;) {
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__random_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__random_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -49,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__random_8cpp_source.html">nothrow_random.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__random_8cpp_source.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -55,7 +55,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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,7 +44,7 @@
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
 <a name="l00026"></a>00026 <span class="keywordflow">try</span> {
 <a name="l00027"></a>00027 nothrow_integer r;
-<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">detail::sqrt</a>(r, n);
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">detail::sqrt</a>(r, n);
 <a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
@@ -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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/operators_8cpp.html (original)
+++ sandbox/xint/doc/operators_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/powers_8cpp.html (original)
+++ sandbox/xint/doc/powers_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,15 +38,7 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail::factorial</a> (base_integer &amp;target, size_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail::pow</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail::sqr</a> (base_integer &amp;target, const base_integer &amp;n)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
@@ -54,7 +46,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">boost::xint::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
@@ -64,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,121 +44,119 @@
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">using namespace </span>detail;
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>detail {
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">sqr</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n) {
-<a name="l00031"></a>00031 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *ndigits = n._get_digits();
-<a name="l00032"></a>00032 <span class="keywordtype">size_t</span> nlen = n._get_length();
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 integer r;
-<a name="l00035"></a>00035 r._realloc(nlen * 2 + 1);
-<a name="l00036"></a>00036 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *rdigits = r._get_writable_digits();
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="comment">// Calculate the product of digits of unequal index</span>
-<a name="l00039"></a>00039 <span class="keywordtype">size_t</span> i = 0;
-<a name="l00040"></a>00040 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> c;
-<a name="l00041"></a>00041 <span class="keywordflow">do</span> {
-<a name="l00042"></a>00042 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> ii = ndigits[i];
-<a name="l00043"></a>00043 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *jp = ndigits + i + 1;
-<a name="l00044"></a>00044 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *rp = rdigits + i + (i + 1), *rpe = rdigits + i + nlen;
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 c = 0;
-<a name="l00047"></a>00047 <span class="keywordflow">while</span> (rp &lt; rpe) {
-<a name="l00048"></a>00048 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t = ii * *jp++ + *rp + c;
-<a name="l00049"></a>00049 *rp++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00050"></a>00050 c = (t &gt;&gt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 *rp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(c);
-<a name="l00053"></a>00053 } <span class="keywordflow">while</span> (++i &lt; nlen - 1);
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="comment">// Multiplication of inner products by two</span>
-<a name="l00056"></a>00056 c = 0;
-<a name="l00057"></a>00057 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *rp = rdigits + 1, *rpe = rdigits + (2 * nlen) - 1;
-<a name="l00058"></a>00058 <span class="keywordflow">do</span> {
-<a name="l00059"></a>00059 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t = (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(*rp) &lt;&lt; 1) + c;
-<a name="l00060"></a>00060 *rp++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00061"></a>00061 c = (t &gt;&gt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00062"></a>00062 } <span class="keywordflow">while</span> (rp &lt; rpe);
-<a name="l00063"></a>00063 *rp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(c);
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="comment">// Addition of inner squares</span>
-<a name="l00066"></a>00066 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *ip = ndigits, *ipe = ndigits + nlen;
-<a name="l00067"></a>00067 rp = rdigits;
-<a name="l00068"></a>00068 c = 0;
-<a name="l00069"></a>00069 <span class="keywordflow">do</span> {
-<a name="l00070"></a>00070 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(*ip) * *ip + *rp + c;
-<a name="l00071"></a>00071 *rp++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00072"></a>00072 c = (t &gt;&gt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 t = c + *rp;
-<a name="l00075"></a>00075 *rp++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00076"></a>00076 c = (t &gt;&gt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00077"></a>00077 } <span class="keywordflow">while</span> (++ip &lt; ipe);
-<a name="l00078"></a>00078 *rp += <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(c);
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 r._cleanup();
-<a name="l00081"></a>00081 target._attach(r);
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">pow</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; e) {
-<a name="l00085"></a>00085 <span class="keywordflow">if</span> (e._is_zero()) {
-<a name="l00086"></a>00086 <span class="comment">// Anything to the zeroth power is one.</span>
-<a name="l00087"></a>00087 target._set_unsigned(1);
-<a name="l00088"></a>00088 <span class="keywordflow">return</span>;
-<a name="l00089"></a>00089 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!e._is_zero() &amp;&amp; e._get_negative()) {
-<a name="l00090"></a>00090 <span class="comment">// Anything to a negative power is a fractional value, which an integer</span>
-<a name="l00091"></a>00091 <span class="comment">// library can&#39;t represent.</span>
-<a name="l00092"></a>00092 target._set_unsigned(0);
-<a name="l00093"></a>00093 <span class="keywordflow">return</span>;
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordtype">bool</span> neg=(!n._is_zero() &amp;&amp; n._get_negative() &amp;&amp; (e._get_digit(0) &amp; 0x01));
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
-<a name="l00099"></a>00099 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> ee(e._get_digit(length-1));
-<a name="l00100"></a>00100 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 temp_t p(n);
-<a name="l00103"></a>00103 p._set_negative(<span class="keyword">false</span>);
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="comment">// If target is a fixed integer, we want to calculate using the same</span>
-<a name="l00106"></a>00106 <span class="comment">// limitations on intermediate values.</span>
-<a name="l00107"></a>00107 temp_t answer(target, 1);
-<a name="l00108"></a>00108 answer._set_unsigned(1);
-<a name="l00109"></a>00109 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
-<a name="l00110"></a>00110 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> eee(e._get_digit(eIndex));
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount : <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00113"></a>00113 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
-<a name="l00114"></a>00114 <span class="keywordflow">if</span> (eee &amp; 0x01) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(answer, answer, p);
-<a name="l00115"></a>00115 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">sqr</a>(p, p);
-<a name="l00116"></a>00116 eee &gt;&gt;= 1;
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 answer._set_negative(neg);
-<a name="l00121"></a>00121 target._attach(answer);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">factorial</a>(base_integer&amp; target, <span class="keywordtype">size_t</span> n) {
-<a name="l00125"></a>00125 <span class="comment">// If target is a fixed integer, we want to calculate using the same</span>
-<a name="l00126"></a>00126 <span class="comment">// limitations on intermediate values.</span>
-<a name="l00127"></a>00127 temp_t answer(target, 1);
-<a name="l00128"></a>00128 answer._set_unsigned(1);
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 fixed_integer_any nn(n);
-<a name="l00131"></a>00131 <span class="keywordflow">while</span> (nn &gt; 1) {
-<a name="l00132"></a>00132 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(answer, answer, nn);
-<a name="l00133"></a>00133 nn._decrement();
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 target._attach(answer);
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 } <span class="comment">// namespace detail</span>
-<a name="l00140"></a>00140
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n) {
+<a name="l00030"></a>00030 <span class="keyword">const</span> digit_t *ndigits = n._get_digits();
+<a name="l00031"></a>00031 <span class="keywordtype">size_t</span> nlen = n._get_length();
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 integer r;
+<a name="l00034"></a>00034 r._realloc(nlen * 2 + 1);
+<a name="l00035"></a>00035 digit_t *rdigits = r._get_writable_digits();
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="comment">// Calculate the product of digits of unequal index</span>
+<a name="l00038"></a>00038 <span class="keywordtype">size_t</span> i = 0;
+<a name="l00039"></a>00039 doubledigit_t c;
+<a name="l00040"></a>00040 <span class="keywordflow">do</span> {
+<a name="l00041"></a>00041 <span class="keyword">const</span> doubledigit_t ii = ndigits[i];
+<a name="l00042"></a>00042 <span class="keyword">const</span> digit_t *jp = ndigits + i + 1;
+<a name="l00043"></a>00043 digit_t *rp = rdigits + i + (i + 1), *rpe = rdigits + i + nlen;
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 c = 0;
+<a name="l00046"></a>00046 <span class="keywordflow">while</span> (rp &lt; rpe) {
+<a name="l00047"></a>00047 doubledigit_t t = ii * *jp++ + *rp + c;
+<a name="l00048"></a>00048 *rp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00049"></a>00049 c = (t &gt;&gt; bits_per_digit);
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 *rp = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(c);
+<a name="l00052"></a>00052 } <span class="keywordflow">while</span> (++i &lt; nlen - 1);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// Multiplication of inner products by two</span>
+<a name="l00055"></a>00055 c = 0;
+<a name="l00056"></a>00056 digit_t *rp = rdigits + 1, *rpe = rdigits + (2 * nlen) - 1;
+<a name="l00057"></a>00057 <span class="keywordflow">do</span> {
+<a name="l00058"></a>00058 doubledigit_t t = (doubledigit_t(*rp) &lt;&lt; 1) + c;
+<a name="l00059"></a>00059 *rp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00060"></a>00060 c = (t &gt;&gt; bits_per_digit);
+<a name="l00061"></a>00061 } <span class="keywordflow">while</span> (rp &lt; rpe);
+<a name="l00062"></a>00062 *rp = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(c);
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="comment">// Addition of inner squares</span>
+<a name="l00065"></a>00065 <span class="keyword">const</span> digit_t *ip = ndigits, *ipe = ndigits + nlen;
+<a name="l00066"></a>00066 rp = rdigits;
+<a name="l00067"></a>00067 c = 0;
+<a name="l00068"></a>00068 <span class="keywordflow">do</span> {
+<a name="l00069"></a>00069 doubledigit_t t = doubledigit_t(*ip) * *ip + *rp + c;
+<a name="l00070"></a>00070 *rp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00071"></a>00071 c = (t &gt;&gt; bits_per_digit);
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 t = c + *rp;
+<a name="l00074"></a>00074 *rp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00075"></a>00075 c = (t &gt;&gt; bits_per_digit);
+<a name="l00076"></a>00076 } <span class="keywordflow">while</span> (++ip &lt; ipe);
+<a name="l00077"></a>00077 *rp += <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(c);
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 r._cleanup();
+<a name="l00080"></a>00080 target._attach(r);
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; e) {
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (e._is_zero()) {
+<a name="l00085"></a>00085 <span class="comment">// Anything to the zeroth power is one.</span>
+<a name="l00086"></a>00086 target._set_unsigned(1);
+<a name="l00087"></a>00087 <span class="keywordflow">return</span>;
+<a name="l00088"></a>00088 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!e._is_zero() &amp;&amp; e._get_negative()) {
+<a name="l00089"></a>00089 <span class="comment">// Anything to a negative power is a fractional value, which an integer</span>
+<a name="l00090"></a>00090 <span class="comment">// library can&#39;t represent.</span>
+<a name="l00091"></a>00091 target._set_unsigned(0);
+<a name="l00092"></a>00092 <span class="keywordflow">return</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordtype">bool</span> neg=(!n._is_zero() &amp;&amp; n._get_negative() &amp;&amp; (e._get_digit(0) &amp; 0x01));
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
+<a name="l00098"></a>00098 digit_t ee(e._get_digit(length-1));
+<a name="l00099"></a>00099 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 temp_t p(n);
+<a name="l00102"></a>00102 p._set_negative(<span class="keyword">false</span>);
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// If target is a fixed integer, we want to calculate using the same</span>
+<a name="l00105"></a>00105 <span class="comment">// limitations on intermediate values.</span>
+<a name="l00106"></a>00106 temp_t answer(target, 1);
+<a name="l00107"></a>00107 answer._set_unsigned(1);
+<a name="l00108"></a>00108 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
+<a name="l00109"></a>00109 digit_t eee(e._get_digit(eIndex));
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount : bits_per_digit));
+<a name="l00112"></a>00112 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (eee &amp; 0x01) <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(answer, answer, p);
+<a name="l00114"></a>00114 <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(p, p);
+<a name="l00115"></a>00115 eee &gt;&gt;= 1;
+<a name="l00116"></a>00116 }
+<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="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&amp; target, <span class="keywordtype">size_t</span> n) {
+<a name="l00124"></a>00124 <span class="comment">// If target is a fixed integer, we want to calculate using the same</span>
+<a name="l00125"></a>00125 <span class="comment">// limitations on intermediate values.</span>
+<a name="l00126"></a>00126 temp_t answer(target, 1);
+<a name="l00127"></a>00127 answer._set_unsigned(1);
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 fixed_integer_any nn(n);
+<a name="l00130"></a>00130 <span class="keywordflow">while</span> (nn &gt; 1) {
+<a name="l00131"></a>00131 <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(answer, answer, nn);
+<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="l00136"></a>00136 }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 } <span class="comment">// namespace detail</span>
+<a name="l00140"></a>00140 <span class="comment"></span>
 <a name="l00152"></a>00152 integer <a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(<span class="keywordtype">size_t</span> e) {
 <a name="l00153"></a>00153 integer r;
 <a name="l00154"></a>00154 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(r, e);
@@ -167,26 +165,26 @@
 <a name="l00157"></a>00157
 <a name="l00168"></a>00168 integer <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> integer&amp; n) {
 <a name="l00169"></a>00169 integer r;
-<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">detail::sqr</a>(r, n);
+<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">detail::sqr</a>(r, n);
 <a name="l00171"></a>00171 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00172"></a>00172 }
 <a name="l00173"></a>00173
 <a name="l00182"></a>00182 integer <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e) {
 <a name="l00183"></a>00183 integer r;
-<a name="l00184"></a>00184 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">detail::pow</a>(r, n, e);
+<a name="l00184"></a>00184 <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">detail::pow</a>(r, n, e);
 <a name="l00185"></a>00185 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00186"></a>00186 }
 <a name="l00187"></a>00187
 <a name="l00201"></a>00201 integer <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(<span class="keywordtype">size_t</span> n) {
 <a name="l00202"></a>00202 integer r;
-<a name="l00203"></a>00203 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">detail::factorial</a>(r, n);
+<a name="l00203"></a>00203 <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">detail::factorial</a>(r, n);
 <a name="l00204"></a>00204 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00205"></a>00205 }
 <a name="l00206"></a>00206
 <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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes.html
==============================================================================
--- sandbox/xint/doc/primes.html (original)
+++ sandbox/xint/doc/primes.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -45,7 +45,7 @@
     <span class="keywordflow">try</span> {
         <span class="comment">// Use the system&#39;s strong random number generator, via the XInt-</span>
         <span class="comment">// provided convenience class.</span>
- <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">set_random_generator</a>(<span class="keyword">new</span> strong_random_generator);
+ <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(<span class="keyword">new</span> strong_random_generator);
 
         <span class="comment">// Generate the prime number, keeping the user informed of the</span>
         <span class="comment">// progress.</span>
@@ -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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/primes_8cpp.html (original)
+++ sandbox/xint/doc/primes_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -43,7 +43,7 @@
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint::is_prime</a> (const fixed_integer_any &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
@@ -53,7 +53,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -44,108 +44,108 @@
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>{
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 std::vector&lt;int&gt; sieveOfEratosthenes(<span class="keywordtype">int</span> upTo) {
-<a name="l00029"></a>00029 std::vector&lt;int&gt; sieve;
-<a name="l00030"></a>00030 sieve.reserve(upTo);
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="comment">// Zero and one aren&#39;t prime, by definition.</span>
-<a name="l00033"></a>00033 sieve.push_back(0);
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 std::vector&lt;int&gt; sieveOfEratosthenes(<span class="keywordtype">int</span> upTo) {
+<a name="l00030"></a>00030 std::vector&lt;int&gt; sieve;
+<a name="l00031"></a>00031 sieve.reserve(upTo);
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// Zero and one aren&#39;t prime, by definition.</span>
 <a name="l00034"></a>00034 sieve.push_back(0);
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p=2; p&lt;upTo; ++p) sieve.push_back(p);
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 std::vector&lt;int&gt; ret;
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keywordtype">int</span> *p=&amp;sieve[0], *e=p+upTo;
-<a name="l00041"></a>00041 <span class="keywordflow">while</span> (p&lt;e) {
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (*p==0) { ++p; <span class="keywordflow">continue</span>; }
-<a name="l00043"></a>00043 ret.push_back(*p);
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keywordtype">int</span> *p2=p+(*p);
-<a name="l00046"></a>00046 <span class="keywordflow">while</span> (p2&lt;e) { *p2=0; p2+=*p; }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 ++p;
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keywordflow">return</span> ret;
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="comment">// The Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00055"></a>00055 <span class="keywordtype">int</span> isProbablePrimeBaseB(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer &amp;b, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
-<a name="l00056"></a>00056 callback)
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
-<a name="l00061"></a>00061 integer r=nMinus1;
-<a name="l00062"></a>00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a=0;
-<a name="l00063"></a>00063 <span class="keywordflow">while</span> (r.even()) { r &gt;&gt;= 1; ++a; }
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="comment">// We check the congruence class of b^((2^i)r) % n for each i</span>
-<a name="l00066"></a>00066 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
-<a name="l00067"></a>00067 <span class="comment">// Otherwise, n fails.</span>
-<a name="l00068"></a>00068 integer test=<a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(b, r, n);
-<a name="l00069"></a>00069 <span class="keywordflow">if</span> (test==<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() || test==nMinus1) <span class="keywordflow">return</span> 1; <span class="comment">// Better than 3/4 chance it&#39;s prime</span>
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keywordflow">while</span> (a--&gt;0) {
-<a name="l00072"></a>00072 test=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(test, n);
-<a name="l00073"></a>00073 <span class="keywordflow">if</span> (test==nMinus1) <span class="keywordflow">return</span> 1;
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> -1;
-<a name="l00077"></a>00077 <span class="keywordflow">return</span> 0;
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 } <span class="comment">// namespace</span>
-<a name="l00081"></a>00081
-<a name="l00104"></a>00104 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (n &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;xint::is_prime cannot test &quot;</span>
-<a name="l00106"></a>00106 <span class="stringliteral">&quot;numbers below 2&quot;</span>);
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="comment">// First we trial-divide it by the primes below 2000</span>
-<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;int&gt; cLowPrimes(sieveOfEratosthenes(2000));
-<a name="l00110"></a>00110 std::vector&lt;int&gt;::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
-<a name="l00111"></a>00111 <span class="keywordflow">for</span> (; i!=ie; ++i) <span class="keywordflow">if</span> ((n % *i)==0) <span class="keywordflow">return</span> (n==*i);
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00114"></a>00114 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
-<a name="l00115"></a>00115 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
-<a name="l00116"></a>00116 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">detail::get_random</a>();
-<a name="l00117"></a>00117 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, k, callback);
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> 1; <span class="comment">// Appears to be prime!</span>
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00124"></a>00124 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00125"></a>00125 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(integer(n), callback);
-<a name="l00126"></a>00126 }
-<a name="l00127"></a>00127
-<a name="l00152"></a>00152 integer <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00153"></a>00153 <span class="keywordflow">if</span> (size_in_bits &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;cannot create &quot;</span>
-<a name="l00154"></a>00154 <span class="stringliteral">&quot;prime numbers smaller than two bits&quot;</span>);
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <span class="comment">// Call the callback for the first time</span>
-<a name="l00157"></a>00157 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 integer pe=<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(size_in_bits+1);
-<a name="l00160"></a>00160 <span class="keywordflow">while</span> (1) {
-<a name="l00161"></a>00161 integer p(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(size_in_bits, <span class="keyword">true</span>, <span class="keyword">true</span>));
-<a name="l00162"></a>00162 <span class="keywordflow">while</span> (p &lt; pe) {
-<a name="l00163"></a>00163 <span class="keywordtype">int</span> r=<a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(p, callback);
-<a name="l00164"></a>00164 <span class="keywordflow">if</span> (r &lt; 0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
-<a name="l00165"></a>00165 <span class="keywordflow">if</span> (r == 1) <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
-<a name="l00166"></a>00166 p+=2;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169 }
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 } <span class="comment">// namespace xint</span>
-<a name="l00172"></a>00172 } <span class="comment">// namespace boost</span>
+<a name="l00035"></a>00035 sieve.push_back(0);
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p=2; p&lt;upTo; ++p) sieve.push_back(p);
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 std::vector&lt;int&gt; ret;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordtype">int</span> *p=&amp;sieve[0], *e=p+upTo;
+<a name="l00042"></a>00042 <span class="keywordflow">while</span> (p&lt;e) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (*p==0) { ++p; <span class="keywordflow">continue</span>; }
+<a name="l00044"></a>00044 ret.push_back(*p);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordtype">int</span> *p2=p+(*p);
+<a name="l00047"></a>00047 <span class="keywordflow">while</span> (p2&lt;e) { *p2=0; p2+=*p; }
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 ++p;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> ret;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// The Miller-Rabin Probabilistic Test of Primality</span>
+<a name="l00056"></a>00056 <span class="keywordtype">int</span> isProbablePrimeBaseB(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer &amp;b, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00057"></a>00057 callback)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
+<a name="l00062"></a>00062 integer r=nMinus1;
+<a name="l00063"></a>00063 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a=0;
+<a name="l00064"></a>00064 <span class="keywordflow">while</span> (r.even()) { r &gt;&gt;= 1; ++a; }
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// We check the congruence class of b^((2^i)r) % n for each i</span>
+<a name="l00067"></a>00067 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
+<a name="l00068"></a>00068 <span class="comment">// Otherwise, n fails.</span>
+<a name="l00069"></a>00069 integer test=<a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(b, r, n);
+<a name="l00070"></a>00070 <span class="keywordflow">if</span> (test==<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() || test==nMinus1) <span class="keywordflow">return</span> 1; <span class="comment">// Better than 3/4 chance it&#39;s prime</span>
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keywordflow">while</span> (a--&gt;0) {
+<a name="l00073"></a>00073 test=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(test, n);
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (test==nMinus1) <span class="keywordflow">return</span> 1;
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> -1;
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> 0;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 } <span class="comment">// namespace detail</span>
+<a name="l00083"></a>00083 <span class="comment"></span>
+<a name="l00106"></a>00106 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (n &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;xint::is_prime cannot test &quot;</span>
+<a name="l00108"></a>00108 <span class="stringliteral">&quot;numbers below 2&quot;</span>);
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="comment">// First we trial-divide it by the primes below 2000</span>
+<a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;int&gt; cLowPrimes(detail::sieveOfEratosthenes(2000));
+<a name="l00112"></a>00112 std::vector&lt;int&gt;::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
+<a name="l00113"></a>00113 <span class="keywordflow">for</span> (; i!=ie; ++i) <span class="keywordflow">if</span> ((n % *i)==0) <span class="keywordflow">return</span> (n==*i);
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
+<a name="l00116"></a>00116 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
+<a name="l00117"></a>00117 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
+<a name="l00118"></a>00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k=detail::get_random();
+<a name="l00119"></a>00119 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, k, callback);
+<a name="l00120"></a>00120 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> 1; <span class="comment">// Appears to be prime!</span>
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00126"></a>00126 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(integer(n), callback);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00154"></a>00154 integer <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00155"></a>00155 <span class="keywordflow">if</span> (size_in_bits &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;cannot create &quot;</span>
+<a name="l00156"></a>00156 <span class="stringliteral">&quot;prime numbers smaller than two bits&quot;</span>);
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="comment">// Call the callback for the first time</span>
+<a name="l00159"></a>00159 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 integer pe=<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(size_in_bits+1);
+<a name="l00162"></a>00162 <span class="keywordflow">while</span> (1) {
+<a name="l00163"></a>00163 integer p(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(size_in_bits, <span class="keyword">true</span>, <span class="keyword">true</span>));
+<a name="l00164"></a>00164 <span class="keywordflow">while</span> (p &lt; pe) {
+<a name="l00165"></a>00165 <span class="keywordtype">int</span> r=<a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(p, callback);
+<a name="l00166"></a>00166 <span class="keywordflow">if</span> (r &lt; 0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
+<a name="l00167"></a>00167 <span class="keywordflow">if</span> (r == 1) <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
+<a name="l00168"></a>00168 p+=2;
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170 }
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 } <span class="comment">// namespace xint</span>
+<a name="l00174"></a>00174 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8dox.html
==============================================================================
--- sandbox/xint/doc/primes_8dox.html (original)
+++ sandbox/xint/doc/primes_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/primitives_8cpp.html (original)
+++ sandbox/xint/doc/primitives_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,21 +38,11 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail::add</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">boost::xint::detail::divide</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail::divide</a> (base_integer &amp;qtarget, base_integer &amp;rtarget, const base_integer &amp;d1, const base_integer &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail::multiply</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;by)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail::subtract</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical primitives</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp196dd2a5f50860e057df961a96d84ea3"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
@@ -72,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -42,398 +42,393 @@
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keyword">using namespace </span>detail;
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>{
-<a name="l00029"></a>00029 <span class="keywordtype">void</span> sub_add(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
-<a name="l00030"></a>00030 n2)
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(n1._get_length() &lt; n2._get_length());
-<a name="l00033"></a>00033 <span class="keyword">const</span> base_integer &amp;larger(<a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a> ? n2 : n1), &amp;smaller(<a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a> ? n1 : n2);
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="comment">// The answer to any addition problem contains, at most, one digit more</span>
-<a name="l00036"></a>00036 <span class="comment">// than the largest addend.</span>
-<a name="l00037"></a>00037 integer a;
-<a name="l00038"></a>00038 a._realloc(larger._get_length() + 1);
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">// Add the digits, starting at the least-significant digit.</span>
-<a name="l00041"></a>00041 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
-<a name="l00042"></a>00042 *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
-<a name="l00043"></a>00043 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *ap = a._get_writable_digits(), *a_end = ap + a._get_length();
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> carry = 0;
-<a name="l00046"></a>00046 <span class="keywordflow">while</span> (sp != s_end) {
-<a name="l00047"></a>00047 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(*lp++) + *sp++ + carry;
-<a name="l00048"></a>00048 <span class="keywordflow">if</span> (t &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) {
-<a name="l00049"></a>00049 carry = 1;
-<a name="l00050"></a>00050 *ap++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t - <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>);
-<a name="l00051"></a>00051 } <span class="keywordflow">else</span> {
-<a name="l00052"></a>00052 carry = 0;
-<a name="l00053"></a>00053 *ap++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keywordflow">if</span> (carry) {
-<a name="l00058"></a>00058 <span class="keywordflow">while</span> (lp != l_end) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (*lp == <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>) { *ap++ = 0; ++lp; }
-<a name="l00060"></a>00060 <span class="keywordflow">else</span> { *ap++ = *lp++ + 1; carry = 0; <span class="keywordflow">break</span>; }
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 <span class="keywordflow">if</span> (carry &amp;&amp; ap != a_end) *ap++ = 1;
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">while</span> (lp != l_end) *ap++ = *lp++;
-<a name="l00066"></a>00066 <span class="keywordflow">while</span> (ap != a_end) *ap++ = 0;
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="keywordflow">if</span> (n1._get_negative()) a._set_negative(<span class="keyword">true</span>);
-<a name="l00069"></a>00069 a._cleanup();
-<a name="l00070"></a>00070 target._attach(a);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keywordtype">void</span> sub_subtract(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
-<a name="l00074"></a>00074 base_integer&amp; n2)
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordtype">bool</span> neg1=n1._get_negative();
-<a name="l00077"></a>00077 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>=((neg1 ? 1 : -1) == <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(n1, n2));
-<a name="l00078"></a>00078 <span class="keyword">const</span> base_integer &amp;larger(swap ? n2 : n1), &amp;smaller(swap ? n1 : n2);
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="comment">// For subtraction, the answer will always be less than or equal to the</span>
-<a name="l00081"></a>00081 <span class="comment">// size of the longest operand.</span>
-<a name="l00082"></a>00082 integer a;
-<a name="l00083"></a>00083 a._realloc(larger._get_length());
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="comment">// Now subtract the digits, starting at the least-significant one.</span>
-<a name="l00086"></a>00086 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
-<a name="l00087"></a>00087 *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
-<a name="l00088"></a>00088 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *ap = a._get_writable_digits();
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> borrow = 0;
-<a name="l00091"></a>00091 <span class="keywordflow">while</span> (sp != s_end) {
-<a name="l00092"></a>00092 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a> + *lp++ - *sp++ - borrow;
-<a name="l00093"></a>00093 <span class="keywordflow">if</span> (t &lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) {
-<a name="l00094"></a>00094 borrow = 1;
-<a name="l00095"></a>00095 *ap++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00096"></a>00096 } <span class="keywordflow">else</span> {
-<a name="l00097"></a>00097 borrow = 0;
-<a name="l00098"></a>00098 *ap++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(t - <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>);
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100 }
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keywordflow">if</span> (borrow) {
-<a name="l00103"></a>00103 <span class="keywordflow">while</span> (lp != l_end) {
-<a name="l00104"></a>00104 <span class="keywordflow">if</span> (*lp == 0) { *ap++ = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>; ++lp; }
-<a name="l00105"></a>00105 <span class="keywordflow">else</span> { *ap++ = *lp++ - 1; borrow = 0; <span class="keywordflow">break</span>; }
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108 <span class="keywordflow">while</span> (lp != l_end) *ap++ = *lp++;
-<a name="l00109"></a>00109 <span class="keywordflow">if</span> (borrow != 0) swap = !swap;
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> (neg1) a._set_negative(<span class="keyword">true</span>);
-<a name="l00112"></a>00112 a._cleanup();
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keywordflow">if</span> (swap) {
-<a name="l00115"></a>00115 target._attach(neg_t(a));
-<a name="l00116"></a>00116 } <span class="keywordflow">else</span> {
-<a name="l00117"></a>00117 target._attach(a);
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keywordtype">void</span> divide_by_single_digit(base_integer&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
-<a name="l00122"></a>00122 base_integer&amp; d1, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> d2)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keywordtype">size_t</span> d1len=d1._get_length();
-<a name="l00125"></a>00125 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d1digits=d1._get_digits();
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 integer quotient, remainder;
-<a name="l00128"></a>00128 quotient._realloc(d1len);
-<a name="l00129"></a>00129 remainder._realloc(1);
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> a=0;
-<a name="l00132"></a>00132 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> lomask(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>);
-<a name="l00133"></a>00133 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> himask(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>) &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keywordtype">int</span> m = int(d1len) - 1;
-<a name="l00136"></a>00136 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d1p=d1digits+m;
-<a name="l00137"></a>00137 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *qp=quotient._get_writable_digits()+m;
-<a name="l00138"></a>00138 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i &gt;= 0; --i, --d1p, --qp) {
-<a name="l00139"></a>00139 a = (a &amp; ~lomask) | *d1p;
-<a name="l00140"></a>00140 *qp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(a / d2);
-<a name="l00141"></a>00141 a = (a &amp; ~himask) | ((a % d2) &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143 remainder._get_writable_digits()[0] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>((a &amp; himask) &gt;&gt;
-<a name="l00144"></a>00144 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>);
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 quotient._cleanup();
-<a name="l00147"></a>00147 remainder._cleanup();
-<a name="l00148"></a>00148 qtarget._attach(quotient);
-<a name="l00149"></a>00149 rtarget._attach(remainder);
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="keywordtype">void</span> sub_divide2(base_integer&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
-<a name="l00153"></a>00153 base_integer&amp; d1, <span class="keyword">const</span> base_integer&amp; d2)
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 assert(d2._get_digit(d2._get_length()-1) &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a> / 2);
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keywordtype">void</span> sub_add(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<a name="l00028"></a>00028 n2)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(n1._get_length() &lt; n2._get_length());
+<a name="l00031"></a>00031 <span class="keyword">const</span> base_integer &amp;larger(<a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a> ? n2 : n1), &amp;smaller(<a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a> ? n1 : n2);
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// The answer to any addition problem contains, at most, one digit more</span>
+<a name="l00034"></a>00034 <span class="comment">// than the largest addend.</span>
+<a name="l00035"></a>00035 integer a;
+<a name="l00036"></a>00036 a._realloc(larger._get_length() + 1);
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="comment">// Add the digits, starting at the least-significant digit.</span>
+<a name="l00039"></a>00039 <span class="keyword">const</span> digit_t *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
+<a name="l00040"></a>00040 *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
+<a name="l00041"></a>00041 digit_t *ap = a._get_writable_digits(), *a_end = ap + a._get_length();
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 digit_t carry = 0;
+<a name="l00044"></a>00044 <span class="keywordflow">while</span> (sp != s_end) {
+<a name="l00045"></a>00045 doubledigit_t t = doubledigit_t(*lp++) + *sp++ + carry;
+<a name="l00046"></a>00046 <span class="keywordflow">if</span> (t &gt;= digit_overflowbit) {
+<a name="l00047"></a>00047 carry = 1;
+<a name="l00048"></a>00048 *ap++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t - digit_overflowbit);
+<a name="l00049"></a>00049 } <span class="keywordflow">else</span> {
+<a name="l00050"></a>00050 carry = 0;
+<a name="l00051"></a>00051 *ap++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (carry) {
+<a name="l00056"></a>00056 <span class="keywordflow">while</span> (lp != l_end) {
+<a name="l00057"></a>00057 <span class="keywordflow">if</span> (*lp == digit_mask) { *ap++ = 0; ++lp; }
+<a name="l00058"></a>00058 <span class="keywordflow">else</span> { *ap++ = *lp++ + 1; carry = 0; <span class="keywordflow">break</span>; }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 <span class="keywordflow">if</span> (carry &amp;&amp; ap != a_end) *ap++ = 1;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keywordflow">while</span> (lp != l_end) *ap++ = *lp++;
+<a name="l00064"></a>00064 <span class="keywordflow">while</span> (ap != a_end) *ap++ = 0;
+<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="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keywordtype">void</span> sub_subtract(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span>
+<a name="l00072"></a>00072 base_integer&amp; n2)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordtype">bool</span> neg1=n1._get_negative();
+<a name="l00075"></a>00075 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>=((neg1 ? 1 : -1) == <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(n1, n2));
+<a name="l00076"></a>00076 <span class="keyword">const</span> base_integer &amp;larger(swap ? n2 : n1), &amp;smaller(swap ? n1 : n2);
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="comment">// For subtraction, the answer will always be less than or equal to the</span>
+<a name="l00079"></a>00079 <span class="comment">// size of the longest operand.</span>
+<a name="l00080"></a>00080 integer a;
+<a name="l00081"></a>00081 a._realloc(larger._get_length());
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="comment">// Now subtract the digits, starting at the least-significant one.</span>
+<a name="l00084"></a>00084 <span class="keyword">const</span> digit_t *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
+<a name="l00085"></a>00085 *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
+<a name="l00086"></a>00086 digit_t *ap = a._get_writable_digits();
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 digit_t borrow = 0;
+<a name="l00089"></a>00089 <span class="keywordflow">while</span> (sp != s_end) {
+<a name="l00090"></a>00090 doubledigit_t t = digit_overflowbit + *lp++ - *sp++ - borrow;
+<a name="l00091"></a>00091 <span class="keywordflow">if</span> (t &lt; digit_overflowbit) {
+<a name="l00092"></a>00092 borrow = 1;
+<a name="l00093"></a>00093 *ap++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t);
+<a name="l00094"></a>00094 } <span class="keywordflow">else</span> {
+<a name="l00095"></a>00095 borrow = 0;
+<a name="l00096"></a>00096 *ap++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(t - digit_overflowbit);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (borrow) {
+<a name="l00101"></a>00101 <span class="keywordflow">while</span> (lp != l_end) {
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (*lp == 0) { *ap++ = digit_mask; ++lp; }
+<a name="l00103"></a>00103 <span class="keywordflow">else</span> { *ap++ = *lp++ - 1; borrow = 0; <span class="keywordflow">break</span>; }
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 <span class="keywordflow">while</span> (lp != l_end) *ap++ = *lp++;
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (borrow != 0) swap = !swap;
+<a name="l00108"></a>00108
+<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&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
+<a name="l00120"></a>00120 base_integer&amp; 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) &lt;&lt; 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 &gt;= 0; --i, --d1p, --qp) {
+<a name="l00137"></a>00137 a = (a &amp; ~lomask) | *d1p;
+<a name="l00138"></a>00138 *qp = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(a / d2);
+<a name="l00139"></a>00139 a = (a &amp; ~himask) | ((a % d2) &lt;&lt; bits_per_digit);
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141 remainder._get_writable_digits()[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>((a &amp; himask) &gt;&gt;
+<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&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
+<a name="l00151"></a>00151 base_integer&amp; d1, <span class="keyword">const</span> base_integer&amp; d2)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 assert(d2._get_digit(d2._get_length()-1) &gt;= 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 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *byDigits = d2._get_digits();
+<a name="l00157"></a>00157 integer quotient, r(d1._to_integer());
 <a name="l00158"></a>00158
-<a name="l00159"></a>00159 integer quotient, r(d1._to_integer());
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordtype">size_t</span> n=d2._get_length(), m=d1._get_length() - n;
-<a name="l00162"></a>00162 <span class="keywordtype">size_t</span> i=m+n, j=m;
-<a name="l00163"></a>00163 quotient._realloc(j+1);
-<a name="l00164"></a>00164 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *qdigits=quotient._get_writable_digits();
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 r._make_unique();
-<a name="l00167"></a>00167 <span class="keywordflow">do</span> {
-<a name="l00168"></a>00168 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> ri=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(r._get_digit(i, <span class="keyword">true</span>))
-<a name="l00169"></a>00169 &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>) + r._get_digit(i-1, <span class="keyword">true</span>);
-<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> q=(std::min&lt;doubledigit_t&gt;)(ri / byDigits[n-1],
-<a name="l00171"></a>00171 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>);
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keywordflow">while</span> (1) {
-<a name="l00174"></a>00174 <span class="comment">// We need three digits here, a doubledigit_t won&#39;t suffice.</span>
-<a name="l00175"></a>00175 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> r2a=ri - (q * byDigits[n-1]);
-<a name="l00176"></a>00176 integer r2=(integer(r2a) &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>) + r._get_digit(i-2);
-<a name="l00177"></a>00177 <span class="keywordflow">if</span> (byDigits[n-2] * q &lt;= r2) <span class="keywordflow">break</span>;
-<a name="l00178"></a>00178 --q;
-<a name="l00179"></a>00179 }
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 integer bq;
-<a name="l00182"></a>00182 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(bq, d2, fixed_integer_any(q));
-<a name="l00183"></a>00183 <span class="keywordflow">if</span> (r &lt; bq) {
-<a name="l00184"></a>00184 --q;
-<a name="l00185"></a>00185 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">subtract</a>(bq, temp_t(bq), d2);
-<a name="l00186"></a>00186 }
+<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 &lt;&lt; bits_per_digit) + r._get_digit(i-1, <span class="keyword">true</span>);
+<a name="l00168"></a>00168 doubledigit_t q=(std::min&lt;doubledigit_t&gt;)(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&#39;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) &lt;&lt; bits_per_digit) + r._get_digit(i-2);
+<a name="l00175"></a>00175 <span class="keywordflow">if</span> (byDigits[n-2] * q &lt;= 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 &lt; 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 &gt;&gt; (bits_per_digit * (i-n))) - bq);
 <a name="l00187"></a>00187
-<a name="l00188"></a>00188 integer rtemp((r &gt;&gt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * (i-n))) - bq);
+<a name="l00188"></a>00188 digit_t *rdigits=r._get_writable_digits();
 <a name="l00189"></a>00189
-<a name="l00190"></a>00190 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *rdigits=r._get_writable_digits();
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="keywordtype">size_t</span> rlen=r._get_length();
-<a name="l00193"></a>00193 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x&lt;=n &amp;&amp; i-n+x &lt; rlen; ++x)
-<a name="l00194"></a>00194 rdigits[i-n+x]=rtemp._get_digit(x, <span class="keyword">true</span>);
-<a name="l00195"></a>00195 r._cleanup();
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 qdigits[j--]=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(q);
-<a name="l00198"></a>00198 } <span class="keywordflow">while</span> (--i &gt;= n);
+<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&lt;=n &amp;&amp; i-n+x &lt; 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="l00194"></a>00194
+<a name="l00195"></a>00195 qdigits[j--]=digit_t(q);
+<a name="l00196"></a>00196 } <span class="keywordflow">while</span> (--i &gt;= n);
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 quotient._cleanup();
 <a name="l00199"></a>00199
-<a name="l00200"></a>00200 quotient._cleanup();
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 qtarget._attach(quotient);
-<a name="l00203"></a>00203 rtarget._attach(r);
-<a name="l00204"></a>00204 }
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 <span class="keywordtype">void</span> sub_divide(base_integer&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
-<a name="l00207"></a>00207 base_integer&amp; d1, <span class="keyword">const</span> base_integer&amp; d2)
-<a name="l00208"></a>00208 {
-<a name="l00209"></a>00209 <span class="keywordflow">if</span> (d2._get_length()==1) {
-<a name="l00210"></a>00210 divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
-<a name="l00211"></a>00211 <span class="keywordflow">return</span>;
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="comment">// The normalization step</span>
-<a name="l00215"></a>00215 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> _d = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a> /
-<a name="l00216"></a>00216 (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(d2._get_digit(d2._get_length()-1))+1));
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (_d &gt; 1) {
-<a name="l00218"></a>00218 fixed_integer_any d(_d);
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 integer dd1, dd2;
-<a name="l00221"></a>00221 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(dd1, d1, d);
-<a name="l00222"></a>00222 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(dd2, d2, d);
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224 integer q, r;
-<a name="l00225"></a>00225 sub_divide2(q, r, dd1, dd2);
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
-<a name="l00228"></a>00228 integer qq, rr;
-<a name="l00229"></a>00229 divide_by_single_digit(qq, rr, r, _d);
-<a name="l00230"></a>00230 qtarget._attach(q);
-<a name="l00231"></a>00231 rtarget._attach(qq);
-<a name="l00232"></a>00232 } <span class="keywordflow">else</span> {
-<a name="l00233"></a>00233 sub_divide2(qtarget, rtarget, d1, d2);
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 }
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 } <span class="comment">// namespace</span>
-<a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp; n2) {
-<a name="l00240"></a>00240 <span class="keywordflow">if</span> (n1._is_zero()) {
-<a name="l00241"></a>00241 target._attach(n2);
-<a name="l00242"></a>00242 <span class="keywordflow">return</span>;
-<a name="l00243"></a>00243 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
-<a name="l00244"></a>00244 target._attach(n1);
-<a name="l00245"></a>00245 <span class="keywordflow">return</span>;
-<a name="l00246"></a>00246 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
-<a name="l00247"></a>00247 sub_subtract(target, n1, neg_t(n2));
-<a name="l00248"></a>00248 } <span class="keywordflow">else</span> {
-<a name="l00249"></a>00249 sub_add(target, n1, n2);
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">subtract</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
-<a name="l00254"></a>00254 n2)
-<a name="l00255"></a>00255 {
-<a name="l00256"></a>00256 <span class="keywordflow">if</span> (n1._is_zero()) {
-<a name="l00257"></a>00257 target._attach(neg_t(n2));
-<a name="l00258"></a>00258 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
-<a name="l00259"></a>00259 target._attach(n1);
-<a name="l00260"></a>00260 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
-<a name="l00261"></a>00261 sub_add(target, n1, neg_t(n2));
-<a name="l00262"></a>00262 } <span class="keywordflow">else</span> {
-<a name="l00263"></a>00263 sub_subtract(target, n1, n2);
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265 }
-<a name="l00266"></a>00266
-<a name="l00267"></a>00267 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">multiply</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp;
-<a name="l00268"></a>00268 by)
-<a name="l00269"></a>00269 {
-<a name="l00270"></a>00270 <span class="keywordflow">if</span> (n._is_zero() || by._is_zero()) {
-<a name="l00271"></a>00271 target._set_unsigned(0);
-<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="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *ndigits=n._get_digits(), *bydigits=by._get_digits();
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (ndigits==bydigits) {
-<a name="l00277"></a>00277 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">sqr</a>(target, n);
-<a name="l00278"></a>00278 <span class="keywordflow">if</span> (n._get_negative() != by._get_negative()) target._set_negative(<span class="keyword">true</span>);
-<a name="l00279"></a>00279 <span class="keywordflow">return</span>;
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 <span class="keywordtype">size_t</span> maxdigit = target._is_fixed()
-<a name="l00283"></a>00283 ? target._fixed_digits()
-<a name="l00284"></a>00284 : (std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00285"></a>00285 <span class="keywordtype">size_t</span> nlen=n._get_length(), bylen=by._get_length();
-<a name="l00286"></a>00286
-<a name="l00287"></a>00287 <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
-<a name="l00288"></a>00288 <span class="comment">// the sum of the lengths of the operands.</span>
-<a name="l00289"></a>00289 integer answer;
-<a name="l00290"></a>00290 answer._realloc(nlen + bylen);
-<a name="l00291"></a>00291 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *adigits=answer._get_writable_digits(), *ae = adigits +
-<a name="l00292"></a>00292 (std::min)(nlen + bylen, maxdigit);
-<a name="l00293"></a>00293
-<a name="l00294"></a>00294 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
-<a name="l00295"></a>00295 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d1 = ndigits, *d1e = d1 + (std::min)(nlen, maxdigit);
-<a name="l00296"></a>00296 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1 = 0; d1 &lt; d1e; ++digit1, ++d1) {
-<a name="l00297"></a>00297 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d2 = bydigits;
-<a name="l00298"></a>00298 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *d2e = d2 + (std::min)(bylen, maxdigit - digit1);
-<a name="l00299"></a>00299 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2 = 0; d2 &lt; d2e; ++digit2, ++d2) {
-<a name="l00300"></a>00300 <span class="comment">// First multiply the two digits</span>
-<a name="l00301"></a>00301 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(*d1) * *d2;
-<a name="l00302"></a>00302
-<a name="l00303"></a>00303 <span class="comment">// Now add the result to the answer.</span>
-<a name="l00304"></a>00304 <span class="keywordtype">int</span> carry=0;
-<a name="l00305"></a>00305 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *a = adigits + digit1 + digit2;
-<a name="l00306"></a>00306 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> addt=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(*a) + (t &amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>);
-<a name="l00307"></a>00307 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) carry=1;
-<a name="l00308"></a>00308 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(addt);
+<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&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span>
+<a name="l00205"></a>00205 base_integer&amp; d1, <span class="keyword">const</span> base_integer&amp; 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&lt;</span>digit_t<span class="keyword">&gt;</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 &gt; 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="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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp; n2) {
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (n1._is_zero()) {
+<a name="l00237"></a>00237 target._attach(n2);
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp;
+<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&lt;size_t&gt;::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 &lt; 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 &lt; 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 &amp; digit_mask);
+<a name="l00303"></a>00303 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry=1;
+<a name="l00304"></a>00304 *a++=<span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306 addt=*a + ((t &gt;&gt; bits_per_digit) &amp; digit_mask) + carry;
+<a name="l00307"></a>00307 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry=1; <span class="keywordflow">else</span> carry=0;
+<a name="l00308"></a>00308 *a++=<span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
 <a name="l00309"></a>00309
-<a name="l00310"></a>00310 addt=*a + ((t &gt;&gt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>) &amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">digit_mask</a>) + carry;
-<a name="l00311"></a>00311 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) carry=1; <span class="keywordflow">else</span> carry=0;
-<a name="l00312"></a>00312 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00313"></a>00313
-<a name="l00314"></a>00314 <span class="keywordflow">while</span> (carry &amp;&amp; a &lt; ae) {
-<a name="l00315"></a>00315 addt=*a+1;
-<a name="l00316"></a>00316 *a++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00317"></a>00317 <span class="keywordflow">if</span> (addt &lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) <span class="keywordflow">break</span>;
-<a name="l00318"></a>00318 }
-<a name="l00319"></a>00319 }
-<a name="l00320"></a>00320 }
-<a name="l00321"></a>00321
-<a name="l00322"></a>00322 answer._set_negative(n._get_negative() != by._get_negative());
-<a name="l00323"></a>00323 answer._cleanup();
-<a name="l00324"></a>00324 target._attach(answer);
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326
-<a name="l00327"></a>00327 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(base_integer&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span> base_integer&amp;
-<a name="l00328"></a>00328 d1, <span class="keyword">const</span> base_integer&amp; d2)
-<a name="l00329"></a>00329 {
-<a name="l00330"></a>00330 <span class="keywordtype">int</span> sign1 = (d1._is_zero() ? 0 : d1._get_negative() ? -1 : 1);
-<a name="l00331"></a>00331 <span class="keywordtype">int</span> sign2 = (d2._is_zero() ? 0 : d2._get_negative() ? -1 : 1);
-<a name="l00332"></a>00332 <span class="keywordflow">if</span> (sign2 == 0) <span class="keywordflow">throw</span> exceptions::divide_by_zero();
-<a name="l00333"></a>00333
-<a name="l00334"></a>00334 <span class="keywordtype">int</span> comp=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(d1, d2, <span class="keyword">true</span>);
-<a name="l00335"></a>00335 <span class="keywordflow">if</span> (comp &lt; 0) {
-<a name="l00336"></a>00336 qtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
-<a name="l00337"></a>00337 rtarget._attach(d1);
-<a name="l00338"></a>00338 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp == 0) {
-<a name="l00339"></a>00339 qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1));
-<a name="l00340"></a>00340 rtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
-<a name="l00341"></a>00341 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 &lt; 0 &amp;&amp; sign2 &lt; 0) {
-<a name="l00342"></a>00342 sub_divide(qtarget, rtarget, neg_t(d1), neg_t(d2));
+<a name="l00310"></a>00310 <span class="keywordflow">while</span> (carry &amp;&amp; a &lt; ae) {
+<a name="l00311"></a>00311 addt=*a+1;
+<a name="l00312"></a>00312 *a++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
+<a name="l00313"></a>00313 <span class="keywordflow">if</span> (addt &lt; 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&amp; qtarget, base_integer&amp; rtarget, <span class="keyword">const</span> base_integer&amp;
+<a name="l00324"></a>00324 d1, <span class="keyword">const</span> base_integer&amp; 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 &lt; 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 &lt; 0 &amp;&amp; sign2 &lt; 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 &lt; 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> (sign1 &lt; 0) {
-<a name="l00345"></a>00345 sub_divide(qtarget, rtarget, neg_t(d1), d2);
+<a name="l00344"></a>00344 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 &lt; 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 rtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00348"></a>00348 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 &lt; 0) {
-<a name="l00349"></a>00349 sub_divide(qtarget, rtarget, d1, neg_t(d2));
-<a name="l00350"></a>00350 qtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00351"></a>00351 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (d2._get_length() == 1) {
-<a name="l00352"></a>00352 divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
-<a name="l00353"></a>00353 } <span class="keywordflow">else</span> {
-<a name="l00354"></a>00354 sub_divide(qtarget, rtarget, d1, d2);
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 }
-<a name="l00357"></a>00357
-<a name="l00358"></a>00358 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
-<a name="l00359"></a>00359 n2)
-<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 integer remainder;
-<a name="l00362"></a>00362 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(target, remainder, n1, n2);
-<a name="l00363"></a>00363 }
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 } <span class="comment">// namespace detail</span>
-<a name="l00366"></a>00366
-<a name="l00375"></a>00375 integer <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00376"></a>00376 <span class="keywordflow">if</span> (n._get_negative()) {
-<a name="l00377"></a>00377 <span class="keywordflow">return</span> -n;
-<a name="l00378"></a>00378 } <span class="keywordflow">else</span> {
-<a name="l00379"></a>00379 <span class="keywordflow">return</span> n;
-<a name="l00380"></a>00380 }
-<a name="l00381"></a>00381 }
-<a name="l00382"></a>00382
-<a name="l00391"></a>00391 integer <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00392"></a>00392 integer nn(n);
-<a name="l00393"></a>00393 nn._toggle_negative();
-<a name="l00394"></a>00394 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(nn);
-<a name="l00395"></a>00395 }
-<a name="l00396"></a>00396
-<a name="l00405"></a>00405 integer <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00406"></a>00406 integer r;
-<a name="l00407"></a>00407 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>(r, n1, n2);
-<a name="l00408"></a>00408 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00409"></a>00409 }
-<a name="l00410"></a>00410
-<a name="l00419"></a>00419 integer <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00420"></a>00420 integer r;
-<a name="l00421"></a>00421 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">detail::subtract</a>(r, n1, n2);
-<a name="l00422"></a>00422 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00437"></a>00437 integer <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
-<a name="l00438"></a>00438 integer r;
-<a name="l00439"></a>00439 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">detail::multiply</a>(r, n, by);
-<a name="l00440"></a>00440 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00441"></a>00441 }
-<a name="l00442"></a>00442
-<a name="l00453"></a>00453 integer <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
-<a name="l00454"></a>00454 integer q, r;
-<a name="l00455"></a>00455 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, dividend, divisor);
-<a name="l00456"></a>00456 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q);
-<a name="l00457"></a>00457 }
-<a name="l00458"></a>00458
-<a name="l00472"></a>00472 <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&amp; d1, <span class="keyword">const</span> integer&amp; d2) {
-<a name="l00473"></a>00473 integer q, r;
-<a name="l00474"></a>00474 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, d1, d2);
-<a name="l00475"></a>00475 <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="l00476"></a>00476 <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="l00477"></a>00477 }
-<a name="l00478"></a>00478
-<a name="l00479"></a>00479 } <span class="comment">// namespace xint</span>
-<a name="l00480"></a>00480 } <span class="comment">// namespace boost</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&amp; target, <span class="keyword">const</span> base_integer&amp; n1, <span class="keyword">const</span> base_integer&amp;
+<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&amp; 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&amp; 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&amp; n1, <span class="keyword">const</span> integer&amp; 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&amp; n1, <span class="keyword">const</span> integer&amp; 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&amp; n, <span class="keyword">const</span> integer&amp; 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&amp; dividend, <span class="keyword">const</span> integer&amp; 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&amp; d1, <span class="keyword">const</span> integer&amp; 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>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__core.html
==============================================================================
--- sandbox/xint/doc/r__core.html (original)
+++ sandbox/xint/doc/r__core.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__cow.html
==============================================================================
--- sandbox/xint/doc/r__cow.html (original)
+++ sandbox/xint/doc/r__cow.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__default__necessary.html
==============================================================================
--- sandbox/xint/doc/r__default__necessary.html (original)
+++ sandbox/xint/doc/r__default__necessary.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_default_necessary">Okay, then why not make the developer provide one? </a></h1><p>Ease-of-use, and the fact that for many developers, there's little need for cryptographically-secure random numbers. This way, those that need them can take a few simple steps to get them, and those that don't can just use the library as-is. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_insecure_default">But why default to an insecure random number generator? Why not default to the secure one? </a></h1><p>Because the secure one isn't available on all systems. If the library relied on <code>random_device</code> as a default, it wouldn't compile under those systems. If it used <code>xint::strong_random_generator</code>, it would compile, but would always fail on them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface.html
==============================================================================
--- sandbox/xint/doc/r__interface.html (original)
+++ sandbox/xint/doc/r__interface.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__nan.html
==============================================================================
--- sandbox/xint/doc/r__nan.html (original)
+++ sandbox/xint/doc/r__nan.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__negzero.html
==============================================================================
--- sandbox/xint/doc/r__negzero.html (original)
+++ sandbox/xint/doc/r__negzero.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__random.html
==============================================================================
--- sandbox/xint/doc/r__random.html (original)
+++ sandbox/xint/doc/r__random.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random.html
==============================================================================
--- sandbox/xint/doc/random.html (original)
+++ sandbox/xint/doc/random.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,7 +27,7 @@
 <p>The XInt library provides a convenience class, <code>xint::strong_random_generator</code>, for both Windows and UNIX-derived systems. It will throw an exception of type <code>no_strong_random</code> if you try to instantiate it on a system that does not have a strong random number generator.</p>
 <p>See the code at the top of <a class="el" href="primes.html">the Prime Numbers page</a> for an example of how to use it. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8cpp.html
==============================================================================
--- sandbox/xint/doc/random_8cpp.html (original)
+++ sandbox/xint/doc/random_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,15 +38,7 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail::get_random</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail::set_random_generator</a> (base_random_generator *obj)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
@@ -58,7 +50,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/random_8dox.html
==============================================================================
--- sandbox/xint/doc/random_8dox.html (original)
+++ sandbox/xint/doc/random_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8hpp.html
==============================================================================
--- sandbox/xint/doc/random_8hpp.html (original)
+++ sandbox/xint/doc/random_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -32,10 +32,6 @@
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>. More...<br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support class for the random generator code. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for cryptographically-secure random numbers. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
@@ -45,25 +41,17 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail::get_random</a> ()</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint::set_random_generator</a> (T *gen)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail::set_random_generator</a> (base_random_generator *obj)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">detail void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint::set_random_generator</a> (T *gen)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares items relating to random numbers. </p>
 
 <p>Definition in file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -54,7 +54,7 @@
 <a name="l00040"></a>00040 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a>();
 <a name="l00041"></a>00041 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a>();
 <a name="l00042"></a>00042
-<a name="l00043"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">00043</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">has_fixed_range</a>;
+<a name="l00043"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">00043</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">has_fixed_range</a>;
 <a name="l00044"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">00044</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">min_value</a>;
 <a name="l00045"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">00045</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">max_value</a>;
 <a name="l00046"></a>00046 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">min</a>() <span class="keyword">const</span>;
@@ -66,44 +66,44 @@
 <a name="l00052"></a>00052 impl_t *impl;
 <a name="l00053"></a>00053 };
 <a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">namespace </span>detail {
-<a name="l00057"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">00057</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> {
-<a name="l00058"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">00058</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>;
-<a name="l00059"></a>00059 <span class="keyword">virtual</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a>()=0;
-<a name="l00060"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">00060</a> <span class="keyword">virtual</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>() { }
-<a name="l00061"></a>00061 };
-<a name="l00062"></a>00062
-<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
-<a name="l00065"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html">00065</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>: <span class="keyword">public</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> {
-<a name="l00066"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">00066</a> <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>;
-<a name="l00067"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">00067</a> <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a>;
-<a name="l00068"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">00068</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a>(T *g): <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>(g), <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(*g,
-<a name="l00069"></a>00069 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>((std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::min)(),
-<a name="l00070"></a>00070 (std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::max)())) { }
-<a name="l00071"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">00071</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a>() { <span class="keywordflow">return</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(); }
-<a name="l00072"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">00072</a> std::auto_ptr&lt;T&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>;
-<a name="l00073"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">00073</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>;
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
-<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">set_random_generator</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> *obj);
-<a name="l00078"></a>00078
-<a name="l00083"></a>00083 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">get_random</a>();
-<a name="l00084"></a>00084 } <span class="comment">// namespace detail</span>
-<a name="l00085"></a>00085
-<a name="l00087"></a>00087 <span class="comment">// Template function definitions</span>
-<a name="l00088"></a>00088
-<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00103"></a><a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">00103</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">set_random_generator</a>(T *gen) {
-<a name="l00104"></a>00104 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a> *obj=<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a>(gen);
-<a name="l00105"></a>00105 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">detail::set_random_generator</a>(obj);
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 } <span class="comment">// namespace xint</span>
-<a name="l00109"></a>00109 } <span class="comment">// namespace boost</span>
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
+<a name="l00056"></a>00056 <span class="keyword">namespace </span>detail {
+<a name="l00058"></a>00058 <span class="keyword">struct </span>base_random_generator {
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> result_type;
+<a name="l00060"></a>00060 <span class="keyword">virtual</span> result_type operator()()=0;
+<a name="l00061"></a>00061 <span class="keyword">virtual</span> ~base_random_generator() { }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>random_generator: <span class="keyword">public</span> base_random_generator {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; dist_t;
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; gen_t;
+<a name="l00069"></a>00069 random_generator(T *g): genobj(g), gen(*g,
+<a name="l00070"></a>00070 dist_t((std::numeric_limits&lt;result_type&gt;::min)(),
+<a name="l00071"></a>00071 (std::numeric_limits&lt;result_type&gt;::max)())) { }
+<a name="l00072"></a>00072 result_type operator()() { <span class="keywordflow">return</span> gen(); }
+<a name="l00073"></a>00073 std::auto_ptr&lt;T&gt; genobj;
+<a name="l00074"></a>00074 gen_t gen;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(base_random_generator *obj);
+<a name="l00079"></a>00079
+<a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_random();
+<a name="l00085"></a>00085 } <span class="comment">// namespace detail</span>
+<a name="l00087"></a>00087 <span class="comment"></span>
+<a name="l00089"></a>00089 <span class="comment">// Template function definitions</span>
+<a name="l00090"></a>00090
+<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00105"></a><a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">00105</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(T *gen) {
+<a name="l00106"></a>00106 detail::random_generator&lt;T&gt; *obj=<span class="keyword">new</span> detail::random_generator&lt;T&gt;(gen);
+<a name="l00107"></a>00107 <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">detail::set_random_generator</a>(obj);
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 } <span class="comment">// namespace xint</span>
+<a name="l00111"></a>00111 } <span class="comment">// namespace boost</span>
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale.html
==============================================================================
--- sandbox/xint/doc/rationale.html (original)
+++ sandbox/xint/doc/rationale.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -51,7 +51,7 @@
 <li><a class="el" href="r__default__necessary.html">Okay, then why not make the developer provide one?</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale_8dox.html
==============================================================================
--- sandbox/xint/doc/rationale_8dox.html (original)
+++ sandbox/xint/doc/rationale_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/roots_8cpp.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -38,17 +38,11 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail::sqrt</a> (base_integer &amp;target, const base_integer &amp;nn)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">detail integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -56,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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -41,50 +41,50 @@
 <a name="l00020"></a>00020 <span class="keyword">namespace </span>boost {
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
 <a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>detail {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">sqrt</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; nn) {
-<a name="l00026"></a>00026 <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._get_negative()) <span class="keywordflow">throw</span> exceptions::cannot_represent(<span class="stringliteral">&quot;library cannot &quot;</span>
-<a name="l00028"></a>00028 <span class="stringliteral">&quot;represent imaginary values (tried to take sqrt of negative number)&quot;</span>);
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="comment">// A naive implementation using pure integers can result in an endless loop,</span>
-<a name="l00031"></a>00031 <span class="comment">// cycling between two numbers that are approximately correct (try</span>
-<a name="l00032"></a>00032 <span class="comment">// sqrt(23)). To deal with that, we multiply everything by an even power of</span>
-<a name="l00033"></a>00033 <span class="comment">// two.</span>
-<a name="l00034"></a>00034 <span class="keyword">const</span> <span class="keywordtype">size_t</span> extra_bits = 1;
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 integer n(nn._to_integer());
-<a name="l00037"></a>00037 n &lt;&lt;= (extra_bits * 2);
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="comment">// Initial guess is half the length of n, in bits</span>
-<a name="l00040"></a>00040 integer guess;
-<a name="l00041"></a>00041 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">setbit</a>(guess, n._log2()/2);
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="comment">// Now refine it until we&#39;re as close as we can get.</span>
-<a name="l00044"></a>00044 <span class="keywordflow">while</span> (1) {
-<a name="l00045"></a>00045 integer guess2=(guess + (n / guess)) &gt;&gt; 1;
-<a name="l00046"></a>00046 <span class="keywordflow">if</span> ((guess &gt;&gt; extra_bits) == (guess2 &gt;&gt; extra_bits)) <span class="keywordflow">break</span>;
-<a name="l00047"></a>00047 guess = guess2;
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="comment">// Remove half of the added bits.</span>
-<a name="l00051"></a>00051 guess &gt;&gt;= extra_bits;
-<a name="l00052"></a>00052 target._attach(guess);
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 } <span class="comment">// namespace detail</span>
-<a name="l00056"></a>00056
-<a name="l00069"></a>00069 integer <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00070"></a>00070 integer r;
-<a name="l00071"></a>00071 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">detail::sqrt</a>(r, n);
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 } <span class="comment">// namespace xint</span>
-<a name="l00076"></a>00076 } <span class="comment">// namespace boost</span>
+<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&amp; target, <span class="keyword">const</span> base_integer&amp; nn) {
+<a name="l00027"></a>00027 <span class="keywordflow">if</span> (nn._is_zero()) { target._attach(nn); <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">&quot;library cannot &quot;</span>
+<a name="l00029"></a>00029 <span class="stringliteral">&quot;represent imaginary values (tried to take sqrt of negative number)&quot;</span>);
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// A naive implementation using pure integers can result in an endless loop,</span>
+<a name="l00032"></a>00032 <span class="comment">// cycling between two numbers that are approximately correct (try</span>
+<a name="l00033"></a>00033 <span class="comment">// sqrt(23)). To deal with that, we multiply everything by an even power of</span>
+<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="l00038"></a>00038 n &lt;&lt;= (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>
+<a name="l00041"></a>00041 integer guess;
+<a name="l00042"></a>00042 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(guess, n._log2()/2);
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// Now refine it until we&#39;re as close as we can get.</span>
+<a name="l00045"></a>00045 <span class="keywordflow">while</span> (1) {
+<a name="l00046"></a>00046 integer guess2=(guess + (n / guess)) &gt;&gt; 1;
+<a name="l00047"></a>00047 <span class="keywordflow">if</span> ((guess &gt;&gt; extra_bits) == (guess2 &gt;&gt; extra_bits)) <span class="keywordflow">break</span>;
+<a name="l00048"></a>00048 guess = guess2;
+<a name="l00049"></a>00049 }
+<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 &gt;&gt;= extra_bits;
+<a name="l00053"></a>00053 target._attach(guess);
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace detail</span>
+<a name="l00058"></a>00058 <span class="comment"></span>
+<a name="l00071"></a>00071 integer <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00072"></a>00072 integer r;
+<a name="l00073"></a>00073 <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">detail::sqrt</a>(r, n);
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076
+<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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/securemode.html
==============================================================================
--- sandbox/xint/doc/securemode.html (original)
+++ sandbox/xint/doc/securemode.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/securemode_8dox.html
==============================================================================
--- sandbox/xint/doc/securemode_8dox.html (original)
+++ sandbox/xint/doc/securemode_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_random_generator Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a>()=0</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [inline, virtual]</code></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,121 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::base_random_generator Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::base_random_generator Struct Reference</h1><!-- doxytag: class="boost::xint::detail::base_random_generator" -->
-<p>The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::base_random_generator:</div>
-<div class="dynsection">
- <div class="center">
- <img src="structboost_1_1xint_1_1detail_1_1base__random__generator.png" usemap="#boost::xint::detail::base_random_generator_map" alt=""/>
- <map id="boost::xint::detail::base_random_generator_map" name="boost::xint::detail::base_random_generator_map">
-<area href="structboost_1_1xint_1_1detail_1_1random__generator.html" alt="boost::xint::detail::random_generator&lt; T &gt;" shape="rect" coords="0,56,247,80"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a></td></tr>
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a> ()=0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>. </p>
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00057">57</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-<hr/><h2>Member Typedef Documentation</h2>
-<a class="anchor" id="a9694aa7d11ac533581d530037f23fd0a"></a><!-- doxytag: member="boost::xint::detail::base_random_generator::result_type" ref="a9694aa7d11ac533581d530037f23fd0a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef unsigned int <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">boost::xint::detail::base_random_generator::result_type</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00058">58</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a3076d65f9619bb48bbce334b0550b507"></a><!-- doxytag: member="boost::xint::detail::base_random_generator::~base_random_generator" ref="a3076d65f9619bb48bbce334b0550b507" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual boost::xint::detail::base_random_generator::~base_random_generator </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline, virtual]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00060">60</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="ae6981f9d0ce6b201c150a5c9c6066814"></a><!-- doxytag: member="boost::xint::detail::base_random_generator::operator()" ref="ae6981f9d0ce6b201c150a5c9c6066814" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> boost::xint::detail::base_random_generator::operator() </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [pure virtual]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Implemented in <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">boost::xint::detail::random_generator&lt; T &gt;</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.png
==============================================================================
Binary file. No diff available.

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::data_t Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">fixed_mask</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::data_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::data_t Struct Reference</h1><!-- doxytag: class="boost::xint::detail::data_t" -->
-<p>Holds the magnitude digits of an integer.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">fixed_mask</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For the topmost digit; zero for variable-sized. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> [1]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Holds the magnitude digits of an integer. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00119">119</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a75fbdec9c81fcd83302e479ed2cae3c0"></a><!-- doxytag: member="boost::xint::detail::data_t::copies" ref="a75fbdec9c81fcd83302e479ed2cae3c0" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t::copies</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ecd68cad8903d2b85c295279df5cf99"></a><!-- doxytag: member="boost::xint::detail::data_t::fixed_mask" ref="a5ecd68cad8903d2b85c295279df5cf99" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t::fixed_mask</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>For the topmost digit; zero for variable-sized. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00121">121</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a081b825b5fb98a03909fa3280e658c8c"></a><!-- doxytag: member="boost::xint::detail::data_t::length" ref="a081b825b5fb98a03909fa3280e658c8c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t::length</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a47e251676febcdbf5ed47e13491c81b3"></a><!-- doxytag: member="boost::xint::detail::data_t::magnitude" ref="a47e251676febcdbf5ed47e13491c81b3" args="[1]" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t::magnitude</a>[1]</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00122">122</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af6047dff158ec443f2f73d012710d4cd"></a><!-- doxytag: member="boost::xint::detail::data_t::max_length" ref="af6047dff158ec443f2f73d012710d4cd" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t::max_length</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::random_generator&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a>(T *g)</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [inline, virtual]</code></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
+++ (empty file)
@@ -1,192 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::random_generator&lt; T &gt; Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1detail.html">detail</a>::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::random_generator&lt; T &gt; Struct Template Reference</h1><!-- doxytag: class="boost::xint::detail::random_generator" --><!-- doxytag: inherits="boost::xint::detail::base_random_generator" -->
-<p>Support class for the random generator code.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::detail::random_generator&lt; T &gt;:</div>
-<div class="dynsection">
- <div class="center">
- <img src="structboost_1_1xint_1_1detail_1_1random__generator.png" usemap="#boost::xint::detail::random_generator&lt; T &gt;_map" alt=""/>
- <map id="boost::xint::detail::random_generator&lt; T &gt;_map" name="boost::xint::detail::random_generator&lt; T &gt;_map">
-<area href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" alt="boost::xint::detail::base_random_generator" shape="rect" coords="0,0,247,24"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uniform_int<br class="typebreak"/>
-&lt; <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
-boost::variate_generator&lt; T <br class="typebreak"/>
-&amp;, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a></td></tr>
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a> (T *g)</td></tr>
-<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;class T&gt;<br/>
- struct boost::xint::detail::random_generator&lt; T &gt;</h3>
-
-<p>Support class for the random generator code. </p>
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00065">65</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-<hr/><h2>Member Typedef Documentation</h2>
-<a class="anchor" id="ae206a1943d1e8d15efdf443f59cf1106"></a><!-- doxytag: member="boost::xint::detail::random_generator::dist_t" ref="ae206a1943d1e8d15efdf443f59cf1106" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::uniform_int&lt;<a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt; <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00066">66</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a77f59e8237e125403e5304a54bf8e418"></a><!-- doxytag: member="boost::xint::detail::random_generator::gen_t" ref="a77f59e8237e125403e5304a54bf8e418" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::variate_generator&lt;T&amp;, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>&gt; <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00067">67</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a551b3fe4b897e4f86c7463586c6292ce"></a><!-- doxytag: member="boost::xint::detail::random_generator::random_generator" ref="a551b3fe4b897e4f86c7463586c6292ce" args="(T *g)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a> </td>
- <td>(</td>
- <td class="paramtype">T *&nbsp;</td>
- <td class="paramname"> <em>g</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00068">68</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a46fa82c3887acbfc9a0d1f3071aa8c96"></a><!-- doxytag: member="boost::xint::detail::random_generator::operator()" ref="a46fa82c3887acbfc9a0d1f3071aa8c96" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::operator() </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline, virtual]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Implements <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>.</p>
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00071">71</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a28fd023763b7e984033a3d7e632e41df"></a><!-- doxytag: member="boost::xint::detail::random_generator::gen" ref="a28fd023763b7e984033a3d7e632e41df" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00073">73</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6283923082acfdbeceb294acb0ee1075"></a><!-- doxytag: member="boost::xint::detail::random_generator::genobj" ref="a6283923082acfdbeceb294acb0ee1075" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class T&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::auto_ptr&lt;T&gt; <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator</a>&lt; T &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00072">72</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<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 Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.png
==============================================================================
Binary file. No diff available.

Modified: sandbox/xint/doc/testing.html
==============================================================================
--- sandbox/xint/doc/testing.html (original)
+++ sandbox/xint/doc/testing.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/testing_8dox.html
==============================================================================
--- sandbox/xint/doc/testing_8dox.html (original)
+++ sandbox/xint/doc/testing_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe.html
==============================================================================
--- sandbox/xint/doc/threadsafe.html (original)
+++ sandbox/xint/doc/threadsafe.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -28,7 +28,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>When the library is compiled with the thread-safe option, all programs that link to it must also link to the Boost.Thread library.</dd></dl>
 <p>To programatically check whether your copy was compiled with thread-safe operation enabled, use the xint::opt_thread_safe function. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe_8dox.html
==============================================================================
--- sandbox/xint/doc/threadsafe_8dox.html (original)
+++ sandbox/xint/doc/threadsafe_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/xint_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint_8hpp.html (original)
+++ sandbox/xint/doc/xint_8hpp.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/zero.html
==============================================================================
--- sandbox/xint/doc/zero.html (original)
+++ sandbox/xint/doc/zero.html 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -25,11 +25,11 @@
 
 <h1><a class="anchor" id="zero">Zero and "Negative Zero" </a></h1><p>The mathematical concept of zero has no sign. It's neither positive nor negative (or if you prefer, it's both). The concept of a signed zero is used in floating-point numbers to represent a value that's so small that it can't be distinguished from zero, but which may not be an actual zero. Such a non-zero number does have a sign. But mathematically, a negative zero is simply zero.</p>
 <p>However, the XInt library does have limited support for a "negative zero," for use in a planned future unlimited-precision floating point library built on it. To get a negative zero, negate a normal zero value with the unary minus, like so:</p>
-<div class="fragment"><pre class="fragment">integer z = -<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">integer::zero</a>();
+<div class="fragment"><pre class="fragment">integer z = -integer::zero();
 </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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/zero_8dox.html
==============================================================================
--- sandbox/xint/doc/zero_8dox.html (original)
+++ sandbox/xint/doc/zero_8dox.html 2010-05-02 18:47:27 EDT (Sun, 02 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 Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/src/base_integer.cpp
==============================================================================
--- sandbox/xint/src/base_integer.cpp (original)
+++ sandbox/xint/src/base_integer.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -18,26 +18,24 @@
 #include "../boost/xint/internals.hpp"
 #include "../boost/xint/integer.hpp"
 
-#ifdef XINT_THREADSAFE
- #define XINT_DISABLE_COPY_ON_WRITE
-#endif
-
 namespace boost {
 namespace xint {
+
+//! @cond detail
 namespace detail {
 
-namespace {
-struct zerodata_t: public data_t {
+struct variable_zerodata_t: public data_t {
     public:
- zerodata_t() { copies=1; fixed_mask=0; length=max_length=1; *magnitude=0; }
+ variable_zerodata_t() { copies=1; fixed_mask=0; length=max_length=1;
+ *magnitude=0; }
 };
 
-zerodata_t* zerodata() {
- static std::auto_ptr<zerodata_t> z(new zerodata_t);
+variable_zerodata_t* variable_zerodata() {
+ static std::auto_ptr<variable_zerodata_t> z(new variable_zerodata_t);
     return z.get();
 }
 
-} // namespace
+////////////////////////////////////////////////////////////////////////////////
 
 base_integer::base_integer(): flags(0), data(0) { }
 
@@ -210,10 +208,10 @@
 void base_integer::_base_attach(data_t *new_data, flag_t setflags, size_t
     extra_allocation)
 {
- #ifdef XINT_DISABLE_COPY_ON_WRITE
- bool adopt=(new_data && new_data->copies == 0);
- #else
+ #ifdef BOOST_XINT_USE_COPY_ON_WRITE
         bool adopt=true;
+ #else
+ bool adopt=(new_data && new_data->copies == 0);
     #endif
 
     if (data != new_data || extra_allocation != 0) {
@@ -337,7 +335,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 void base_variable_length_integer::_attach_0() {
- _base_attach(zerodata());
+ _base_attach(variable_zerodata());
 }
 
 size_t log10_bits(size_t bits) {
@@ -353,5 +351,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/bit_manipulations.cpp
==============================================================================
--- sandbox/xint/src/bit_manipulations.cpp (original)
+++ sandbox/xint/src/bit_manipulations.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -20,6 +20,7 @@
 namespace boost {
 namespace xint {
 
+//! @cond detail
 namespace detail {
 
 bool getbit(const base_integer& n, size_t bit) {
@@ -214,6 +215,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Queries the value of a particular bit in an integer.
 

Modified: sandbox/xint/src/compare.cpp
==============================================================================
--- sandbox/xint/src/compare.cpp (original)
+++ sandbox/xint/src/compare.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -21,6 +21,7 @@
 namespace boost {
 namespace xint {
 
+//! @cond detail
 namespace detail {
 int compare(const base_integer &b1, const base_integer &b2, bool ignoresign) {
     bool invert_answer=false;
@@ -54,6 +55,7 @@
     return (invert_answer ? -answer : answer);
 }
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Compare two integer objects.
 

Modified: sandbox/xint/src/convert.cpp
==============================================================================
--- sandbox/xint/src/convert.cpp (original)
+++ sandbox/xint/src/convert.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -26,15 +26,14 @@
 namespace boost {
 namespace xint {
 
-namespace {
+//! @cond detail
+namespace detail {
+
 char nToChar(int n, bool upperCase) {
     if (n < 10) return char(n+'0');
     else if (upperCase) return char((n - 10) + 'A');
     else return char((n - 10) + 'a');
 }
-} // namespace
-
-namespace detail {
 
 std::string to_string(const base_integer& n, size_t base, bool uppercase) {
     if (base<2 || base>36) throw exceptions::invalid_base();
@@ -181,6 +180,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Creates a string representation of the specified %integer.
 

Modified: sandbox/xint/src/data_t.cpp
==============================================================================
--- sandbox/xint/src/data_t.cpp (original)
+++ sandbox/xint/src/data_t.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -23,6 +23,8 @@
 
 namespace boost {
 namespace xint {
+
+//! @cond detail
 namespace detail {
 
 static const size_t datasize = (sizeof(data_t)+sizeof(digit_t)-1) /
@@ -163,5 +165,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/gcd.cpp
==============================================================================
--- sandbox/xint/src/gcd.cpp (original)
+++ sandbox/xint/src/gcd.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -21,7 +21,9 @@
 
 namespace boost {
 namespace xint {
-namespace {
+
+//! @cond detail
+namespace detail {
 
 struct gcd_core {
     gcd_core(const integer& n, const integer& m): u1(integer::one()),
@@ -56,10 +58,6 @@
     integer u1, u2, u3;
 };
 
-} // namespace
-
-namespace detail {
-
 void gcd(base_integer& target, const base_integer& num1, const base_integer&
     num2)
 {
@@ -150,6 +148,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Calculate the Greatest Common Denominator of two integers.
 

Modified: sandbox/xint/src/integer.cpp
==============================================================================
--- sandbox/xint/src/integer.cpp (original)
+++ sandbox/xint/src/integer.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -22,9 +22,7 @@
 namespace boost {
 namespace xint {
 
-namespace {
- std::auto_ptr<integer> cZero, cOne;
-}
+std::auto_ptr<integer> integer::cZero, integer::cOne;
 
 //! \brief Creates a new integer with an initial value of zero.
 integer::integer() {

Modified: sandbox/xint/src/modular.cpp
==============================================================================
--- sandbox/xint/src/modular.cpp (original)
+++ sandbox/xint/src/modular.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -24,6 +24,7 @@
 namespace boost {
 namespace xint {
 
+//! @cond detail
 namespace detail {
 
 void mod(base_integer& target, const base_integer& n, const base_integer& m) {
@@ -78,6 +79,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Get the remainder after dividing a number by another.
 

Modified: sandbox/xint/src/monty.cpp
==============================================================================
--- sandbox/xint/src/monty.cpp (original)
+++ sandbox/xint/src/monty.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -27,7 +27,8 @@
 namespace boost {
 namespace xint {
 
-using namespace detail;
+//! @cond detail
+namespace detail {
 
 //! Returns the low digit of the inverse of a number. Used internally.
 digit_t inverse0(const integer& n) {
@@ -113,8 +114,6 @@
     else return BOOST_XINT_MOVE(t);
 }
 
-namespace {
-
 // cMaxK sets the balance between memory/precalculations required and the number
 // of calculations required for an exponentiation. Increasing it can only reduce
 // the calculations by a small amount, whereas it increases the memory
@@ -220,8 +219,6 @@
     return rval;
 }
 
-} // namespace
-
 /*! \brief Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>.
            Used internally.
 */
@@ -278,5 +275,8 @@
     return montgomeryMultiplyMod(pp, integer::one(), n, nPrime0);
 }
 
+} // namespace detail
+//! @endcond detail
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/nothrow_compare.cpp
==============================================================================
--- sandbox/xint/src/nothrow_compare.cpp (original)
+++ sandbox/xint/src/nothrow_compare.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -30,26 +30,28 @@
     return detail::compare(b1, b2);
 }
 
-namespace {
+//! @cond detail
+namespace detail {
 template <typename T>
 bool cmp(const nothrow_integer &b1, const nothrow_integer &b2, const T& t) {
     if (b1.is_nan() || b2.is_nan()) return false;
     return t(detail::compare(b1, b2), 0);
 }
-} // namespace
+} // namespace detail
+//! @endcond detail
 
 bool operator==(const nothrow_integer &num1, const nothrow_integer &num2) {
- return cmp(num1, num2, std::equal_to<int>()); }
+ return detail::cmp(num1, num2, std::equal_to<int>()); }
 bool operator!=(const nothrow_integer& num1, const nothrow_integer& num2) {
- return cmp(num1, num2, std::not_equal_to<int>()); }
+ return detail::cmp(num1, num2, std::not_equal_to<int>()); }
 bool operator<(const nothrow_integer& num1, const nothrow_integer& num2) {
- return cmp(num1, num2, std::less<int>()); }
+ return detail::cmp(num1, num2, std::less<int>()); }
 bool operator>(const nothrow_integer& num1, const nothrow_integer& num2) {
- return cmp(num1, num2, std::greater<int>()); }
+ return detail::cmp(num1, num2, std::greater<int>()); }
 bool operator<=(const nothrow_integer& num1, const nothrow_integer& num2) {
- return cmp(num1, num2, std::less_equal<int>()); }
+ return detail::cmp(num1, num2, std::less_equal<int>()); }
 bool operator>=(const nothrow_integer& num1, const nothrow_integer& num2) {
- return cmp(num1, num2, std::greater_equal<int>()); }
+ return detail::cmp(num1, num2, std::greater_equal<int>()); }
 
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/nothrow_convert.cpp
==============================================================================
--- sandbox/xint/src/nothrow_convert.cpp (original)
+++ sandbox/xint/src/nothrow_convert.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -23,8 +23,6 @@
 namespace boost {
 namespace xint {
 
-using namespace detail;
-
 /*! \copydoc xint::to_string(const integer&, size_t, bool)
 
 \note Returns an empty std::string instead of throwing.

Modified: sandbox/xint/src/nothrow_integer.cpp
==============================================================================
--- sandbox/xint/src/nothrow_integer.cpp (original)
+++ sandbox/xint/src/nothrow_integer.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -21,14 +21,15 @@
 namespace boost {
 namespace xint {
 
+//! @cond detail
 const std::string detail::nan_text("#NaN#");
+//! @endcond detail
 
 ////////////////////////////////////////////////////////////////////////////////
 // The nothrow_integer class
 
-namespace {
- std::auto_ptr<nothrow_integer> cZero, cOne, cNaN;
-}
+std::auto_ptr<nothrow_integer> nothrow_integer::cZero, nothrow_integer::cOne,
+ nothrow_integer::cNaN;
 
 //! \copydoc xint::integer::integer()
 nothrow_integer::nothrow_integer() {

Modified: sandbox/xint/src/powers.cpp
==============================================================================
--- sandbox/xint/src/powers.cpp (original)
+++ sandbox/xint/src/powers.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -23,8 +23,7 @@
 namespace boost {
 namespace xint {
 
-using namespace detail;
-
+//! @cond detail
 namespace detail {
 
 void sqr(base_integer& target, const base_integer& n) {
@@ -137,6 +136,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Calculate the value of 2<sup>e</sup>
 

Modified: sandbox/xint/src/primes.cpp
==============================================================================
--- sandbox/xint/src/primes.cpp (original)
+++ sandbox/xint/src/primes.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -23,7 +23,8 @@
 namespace boost {
 namespace xint {
 
-namespace {
+//! @cond detail
+namespace detail {
 
 std::vector<int> sieveOfEratosthenes(int upTo) {
     std::vector<int> sieve;
@@ -77,7 +78,8 @@
     return 0;
 }
 
-} // namespace
+} // namespace detail
+//! @endcond detail
 
 /*! \brief Tests an integer for primality.
 
@@ -106,7 +108,7 @@
         "numbers below 2");
 
     // First we trial-divide it by the primes below 2000
- static const std::vector<int> cLowPrimes(sieveOfEratosthenes(2000));
+ static const std::vector<int> cLowPrimes(detail::sieveOfEratosthenes(2000));
     std::vector<int>::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
     for (; i!=ie; ++i) if ((n % *i)==0) return (n==*i);
 

Modified: sandbox/xint/src/primitives.cpp
==============================================================================
--- sandbox/xint/src/primitives.cpp (original)
+++ sandbox/xint/src/primitives.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -21,11 +21,9 @@
 namespace boost {
 namespace xint {
 
-using namespace detail;
-
+//! @cond detail
 namespace detail {
 
-namespace {
 void sub_add(base_integer& target, const base_integer& n1, const base_integer&
     n2)
 {
@@ -234,8 +232,6 @@
     }
 }
 
-} // namespace
-
 void add(base_integer& target, const base_integer& n1, const base_integer& n2) {
     if (n1._is_zero()) {
         target._attach(n2);
@@ -363,6 +359,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Returns the absolute value of an integer.
 

Modified: sandbox/xint/src/random.cpp
==============================================================================
--- sandbox/xint/src/random.cpp (original)
+++ sandbox/xint/src/random.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -39,9 +39,8 @@
 namespace boost {
 namespace xint {
 
-using namespace detail;
-
-namespace {
+//! @cond detail
+namespace detail {
 
 class generator_t {
     public:
@@ -90,10 +89,6 @@
     boost::mutex generator_t::mLock;
 #endif
 
-} // namespace
-
-namespace detail {
-
 void set_random_generator(base_random_generator *obj) {
     generator_t::set_generator(obj);
 }
@@ -104,6 +99,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 ////////////////////////////////////////////////////////////////////////////////
 // The secure random generator
@@ -220,6 +216,8 @@
 {
     if (bits<=0) return integer::zero();
 
+ using namespace detail;
+
     // Grab a bunch of bits
     generator_t randomGenerator;
     bitqueue_t bitqueue;

Modified: sandbox/xint/src/roots.cpp
==============================================================================
--- sandbox/xint/src/roots.cpp (original)
+++ sandbox/xint/src/roots.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -20,6 +20,7 @@
 namespace boost {
 namespace xint {
 
+//! @cond detail
 namespace detail {
 
 void sqrt(base_integer& target, const base_integer& nn) {
@@ -53,6 +54,7 @@
 }
 
 } // namespace detail
+//! @endcond detail
 
 /*! \brief Calculate the square root of \c an integer.
 

Modified: sandbox/xint/test/test_main.cpp
==============================================================================
--- sandbox/xint/test/test_main.cpp (original)
+++ sandbox/xint/test/test_main.cpp 2010-05-02 18:47:27 EDT (Sun, 02 May 2010)
@@ -17,12 +17,70 @@
     writing them or in production.
 */
 
-#if 1
- #define BOOST_TEST_MAIN
- #define BOOST_TEST_DYN_LINK
- #include <boost/test/unit_test.hpp>
-#else
- #include <boost/xint/xint.hpp>
+#include <boost/xint/xint.hpp>
+
+#if defined PERFORMANCE_TEST
+ #include <iostream>
+ #include <iomanip>
+
+ // To ensure that the compiler doesn't optimize away important parts of the
+ // tests.
+ #define USE_NUMBER(n) { n._get_writable_digits()[0] ^= 0xAAAAAAAA; }
+
+ // For running comparative tests with different options
+ int main() {
+ const size_t bits = 2048, add_rounds = 10000, mult_rounds = 10000,
+ mulmod_rounds = 1000;
+ const size_t raw_number_pairs = 10;
+
+ using namespace std;
+ using namespace boost::xint;
+
+ cout << "Generating numbers..." << endl;
+ std::vector<integer> n1, n2;
+ for (size_t x = 0; x < raw_number_pairs; ++x) {
+ n1.push_back(random_by_size(bits, true, true));
+ n2.push_back(random_by_size(bits, true, true));
+ }
+ const integer nmod = random_by_size(bits, true, true);
+
+ cout << "Running addition test" << flush;
+ for (size_t x = 0; x < 10; ++x) {
+ for (size_t y = 0; y < add_rounds / 10; ++y) {
+ for (size_t round = 0; round < raw_number_pairs; ++round) {
+ integer r = n1[round] + n2[round];
+ USE_NUMBER(r);
+ }
+ }
+ cout << "." << flush;
+ }
+ cout << endl;
+
+ cout << "Running multiplication test" << flush;
+ for (size_t x = 0; x < 10; ++x) {
+ for (size_t y = 0; y < mult_rounds / 10; ++y) {
+ for (size_t round = 0; round < raw_number_pairs; ++round) {
+ integer r = n1[round] * n2[round];
+ USE_NUMBER(r);
+ }
+ }
+ cout << "." << flush;
+ }
+ cout << endl;
+
+ cout << "Running mulmod test" << flush;
+ for (size_t x = 0; x < 10; ++x) {
+ for (size_t y = 0; y < mulmod_rounds / 10; ++y) {
+ for (size_t round = 0; round < raw_number_pairs; ++round) {
+ integer r = mulmod(n1[round], n2[round], nmod);
+ USE_NUMBER(r);
+ }
+ }
+ cout << "." << flush;
+ }
+ cout << endl;
+ }
+#elif defined CUSTOM_TEST
     #include <iostream>
     #include <iomanip>
 
@@ -31,4 +89,8 @@
         using namespace std;
         using namespace boost::xint;
     }
+#else
+ #define BOOST_TEST_MAIN
+ #define BOOST_TEST_DYN_LINK
+ #include <boost/test/unit_test.hpp>
 #endif


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