Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61346 - in sandbox/xint: boost/xint build doc doc/dox example src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-04-17 20:46:19


Author: chadnelson
Date: 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
New Revision: 61346
URL: http://svn.boost.org/trac/boost/changeset/61346

Log:
Massive restructuring.

* Redesigned internals, using "struct hack"
* Changed xint::core::integer to xint::integer
* Changed xint::blockable::integer to xint::nothrow_integer
* Eliminated core and blockable namespaces
* Eliminated exception-blocking functions
* Added limited support for "negative zero"
* Moved exceptions to their own namespace
* Other internal changes in preparation for adding fixed_integer<T> type
* Overhauled documentation and examples to reflect above changes
Added:
   sandbox/xint/boost/xint/exceptions.hpp (contents, props changed)
   sandbox/xint/boost/xint/integer.hpp (contents, props changed)
   sandbox/xint/boost/xint/internals.hpp (contents, props changed)
   sandbox/xint/boost/xint/monty.hpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/boost/xint/xint_monty.hpp
   sandbox/xint/boost/xint/nothrow_integer.hpp (contents, props changed)
   sandbox/xint/boost/xint/random.hpp (contents, props changed)
   sandbox/xint/doc/base__integer_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/data__t_8cpp.html
   sandbox/xint/doc/base__integer_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html
      - copied, changed from r61200, /sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html
      - copied, changed from r61200, /sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.png (contents, props changed)
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html (contents, props changed)
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html (contents, props changed)
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html (contents, props changed)
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html (contents, props changed)
   sandbox/xint/doc/dox/zero.dox (contents, props changed)
   sandbox/xint/doc/exceptions_8hpp.html (contents, props changed)
   sandbox/xint/doc/exceptions_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/integer_8hpp.html (contents, props changed)
   sandbox/xint/doc/integer_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/internals_8hpp.html (contents, props changed)
   sandbox/xint/doc/internals_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/monty_8hpp.html
      - copied, changed from r61200, /sandbox/xint/doc/xint__monty_8hpp.html
   sandbox/xint/doc/monty_8hpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/xint__monty_8hpp_source.html
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exception.html (contents, props changed)
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html (contents, props changed)
   sandbox/xint/doc/namespacestd.html
      - copied, changed from r61200, /sandbox/xint/doc/namespaceboost.html
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html (contents, props changed)
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__compare_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__compare_8cpp.html
   sandbox/xint/doc/nothrow__compare_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__convert_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__convert_8cpp.html
   sandbox/xint/doc/nothrow__convert_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__gcd_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__misc_8cpp.html
   sandbox/xint/doc/nothrow__gcd_8cpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__roots_8cpp_source.html
   sandbox/xint/doc/nothrow__integer_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/integer_8cpp.html
   sandbox/xint/doc/nothrow__integer_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__integer_8hpp.html (contents, props changed)
   sandbox/xint/doc/nothrow__integer_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__misc_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__misc_8cpp.html
   sandbox/xint/doc/nothrow__misc_8cpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__roots_8cpp_source.html
   sandbox/xint/doc/nothrow__modular_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__modular_8cpp.html
   sandbox/xint/doc/nothrow__modular_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__operators_8cpp.html (contents, props changed)
   sandbox/xint/doc/nothrow__operators_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__powers_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/roots_8cpp.html
   sandbox/xint/doc/nothrow__powers_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__primes_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__primes_8cpp.html
   sandbox/xint/doc/nothrow__primes_8cpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__misc_8cpp_source.html
   sandbox/xint/doc/nothrow__primitives_8cpp.html (contents, props changed)
   sandbox/xint/doc/nothrow__primitives_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/nothrow__random_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__random_8cpp.html
   sandbox/xint/doc/nothrow__random_8cpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__misc_8cpp_source.html
   sandbox/xint/doc/nothrow__roots_8cpp.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__roots_8cpp.html
   sandbox/xint/doc/nothrow__roots_8cpp_source.html
      - copied, changed from r61200, /sandbox/xint/doc/blockable__misc_8cpp_source.html
   sandbox/xint/doc/random_8hpp.html
      - copied, changed from r61200, /sandbox/xint/doc/random_8cpp.html
   sandbox/xint/doc/random_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/zero.html (contents, props changed)
   sandbox/xint/doc/zero_8dox.html
      - copied, changed from r61200, /sandbox/xint/doc/nan_8dox.html
   sandbox/xint/src/base_integer.cpp (contents, props changed)
   sandbox/xint/src/nothrow_bit_manipulations.cpp (contents, props changed)
   sandbox/xint/src/nothrow_compare.cpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/src/blockable_compare.cpp
   sandbox/xint/src/nothrow_convert.cpp (contents, props changed)
   sandbox/xint/src/nothrow_gcd.cpp (contents, props changed)
   sandbox/xint/src/nothrow_integer.cpp (contents, props changed)
   sandbox/xint/src/nothrow_misc.cpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/src/blockable_misc.cpp
   sandbox/xint/src/nothrow_modular.cpp (contents, props changed)
   sandbox/xint/src/nothrow_operators.cpp (contents, props changed)
   sandbox/xint/src/nothrow_powers.cpp (contents, props changed)
   sandbox/xint/src/nothrow_primes.cpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/src/blockable_primes.cpp
   sandbox/xint/src/nothrow_primitives.cpp (contents, props changed)
   sandbox/xint/src/nothrow_random.cpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/src/blockable_random.cpp
   sandbox/xint/src/nothrow_roots.cpp (contents, props changed)
      - copied, changed from r61200, /sandbox/xint/src/blockable_roots.cpp
Removed:
   sandbox/xint/boost/xint/xint_data_t.hpp
   sandbox/xint/boost/xint/xint_monty.hpp
   sandbox/xint/boost/xint/xint_test.hpp
   sandbox/xint/src/blockable_bit_manipulations.cpp
   sandbox/xint/src/blockable_compare.cpp
   sandbox/xint/src/blockable_convert.cpp
   sandbox/xint/src/blockable_gcd.cpp
   sandbox/xint/src/blockable_integer.cpp
   sandbox/xint/src/blockable_misc.cpp
   sandbox/xint/src/blockable_modular.cpp
   sandbox/xint/src/blockable_operators.cpp
   sandbox/xint/src/blockable_powers.cpp
   sandbox/xint/src/blockable_primes.cpp
   sandbox/xint/src/blockable_primitives.cpp
   sandbox/xint/src/blockable_random.cpp
   sandbox/xint/src/blockable_roots.cpp
   sandbox/xint/src/exception_blocker.cpp
Binary files modified:
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.png
Text files modified:
   sandbox/xint/boost/xint/monty.hpp | 8
   sandbox/xint/boost/xint/xint.hpp | 1054 ---------
   sandbox/xint/build/Jamfile.v2 | 19
   sandbox/xint/doc/acknowledgements.html | 7
   sandbox/xint/doc/acknowledgements_8dox.html | 2
   sandbox/xint/doc/annotated.html | 33
   sandbox/xint/doc/base__integer_8cpp.html | 16
   sandbox/xint/doc/bit__manipulations_8cpp.html | 53
   sandbox/xint/doc/bit__manipulations_8cpp_source.html | 274 +-
   sandbox/xint/doc/blockable__bit__manipulations_8cpp.html | 35
   sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html | 204
   sandbox/xint/doc/blockable__compare_8cpp.html | 29
   sandbox/xint/doc/blockable__compare_8cpp_source.html | 96
   sandbox/xint/doc/blockable__convert_8cpp.html | 23
   sandbox/xint/doc/blockable__convert_8cpp_source.html | 88
   sandbox/xint/doc/blockable__gcd_8cpp.html | 22
   sandbox/xint/doc/blockable__gcd_8cpp_source.html | 63
   sandbox/xint/doc/blockable__integer_8cpp.html | 13
   sandbox/xint/doc/blockable__integer_8cpp_source.html | 367 +-
   sandbox/xint/doc/blockable__misc_8cpp.html | 15
   sandbox/xint/doc/blockable__misc_8cpp_source.html | 28
   sandbox/xint/doc/blockable__modular_8cpp.html | 23
   sandbox/xint/doc/blockable__modular_8cpp_source.html | 105
   sandbox/xint/doc/blockable__operators_8cpp.html | 33
   sandbox/xint/doc/blockable__operators_8cpp_source.html | 32
   sandbox/xint/doc/blockable__powers_8cpp.html | 21
   sandbox/xint/doc/blockable__powers_8cpp_source.html | 76
   sandbox/xint/doc/blockable__primes_8cpp.html | 17
   sandbox/xint/doc/blockable__primes_8cpp_source.html | 46
   sandbox/xint/doc/blockable__primitives_8cpp.html | 28
   sandbox/xint/doc/blockable__primitives_8cpp_source.html | 126
   sandbox/xint/doc/blockable__random_8cpp.html | 15
   sandbox/xint/doc/blockable__random_8cpp_source.html | 34
   sandbox/xint/doc/blockable__roots_8cpp.html | 15
   sandbox/xint/doc/blockable__roots_8cpp_source.html | 28
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html | 39
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html | 110
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html | 19
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html | 312 ++
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html | 42
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html | 176 -
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html | 408 +--
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html | 22
   sandbox/xint/doc/classes.html | 21
   sandbox/xint/doc/compare_8cpp.html | 27
   sandbox/xint/doc/compare_8cpp_source.html | 102
   sandbox/xint/doc/convert_8cpp.html | 25
   sandbox/xint/doc/convert_8cpp_source.html | 308 +-
   sandbox/xint/doc/copyonwrite_8dox.html | 2
   sandbox/xint/doc/cow.html | 4
   sandbox/xint/doc/data__t_8cpp.html | 17
   sandbox/xint/doc/data__t_8cpp_source.html | 434 +--
   sandbox/xint/doc/dependencies.html | 2
   sandbox/xint/doc/dependencies_8dox.html | 2
   sandbox/xint/doc/dox/acknowledgements.dox | 7
   sandbox/xint/doc/dox/copyonwrite.dox | 11
   sandbox/xint/doc/dox/exceptions.dox | 56
   sandbox/xint/doc/dox/history.dox | 4
   sandbox/xint/doc/dox/index.dox | 9
   sandbox/xint/doc/dox/nan.dox | 21
   sandbox/xint/doc/dox/r_core.dox | 36
   sandbox/xint/doc/dox/r_exception_blocking.dox | 16
   sandbox/xint/doc/dox/r_nan.dox | 3
   sandbox/xint/doc/dox/r_negzero.dox | 15
   sandbox/xint/doc/dox/r_random.dox | 2
   sandbox/xint/doc/dox/random.dox | 4
   sandbox/xint/doc/dox/rationale.dox | 2
   sandbox/xint/doc/dox/threadsafe.dox | 4
   sandbox/xint/doc/ex__fibonacci.html | 6
   sandbox/xint/doc/ex__fibonacci_8dox.html | 2
   sandbox/xint/doc/exception__blocker_8cpp.html | 4
   sandbox/xint/doc/exception__blocker_8cpp_source.html | 2
   sandbox/xint/doc/exceptions.html | 65
   sandbox/xint/doc/exceptions_8dox.html | 2
   sandbox/xint/doc/files.html | 43
   sandbox/xint/doc/functions.html | 389 ++-
   sandbox/xint/doc/functions_func.html | 260 +-
   sandbox/xint/doc/functions_type.html | 6
   sandbox/xint/doc/functions_vars.html | 168 +
   sandbox/xint/doc/gcd_8cpp.html | 27
   sandbox/xint/doc/gcd_8cpp_source.html | 178
   sandbox/xint/doc/globals.html | 5
   sandbox/xint/doc/globals_defs.html | 2
   sandbox/xint/doc/globals_vars.html | 5
   sandbox/xint/doc/hierarchy.html | 33
   sandbox/xint/doc/history.html | 4
   sandbox/xint/doc/history_8dox.html | 2
   sandbox/xint/doc/index.html | 7
   sandbox/xint/doc/index_8dox.html | 2
   sandbox/xint/doc/integer_8cpp.html | 9
   sandbox/xint/doc/integer_8cpp_source.html | 325 +-
   sandbox/xint/doc/misc_8cpp.html | 16
   sandbox/xint/doc/misc_8cpp_source.html | 29
   sandbox/xint/doc/modular_8cpp.html | 25
   sandbox/xint/doc/modular_8cpp_source.html | 116
   sandbox/xint/doc/monty_8cpp.html | 37
   sandbox/xint/doc/monty_8cpp_source.html | 483 ++--
   sandbox/xint/doc/monty_8hpp.html | 41
   sandbox/xint/doc/monty_8hpp_source.html | 38
   sandbox/xint/doc/namespaceboost.html | 6
   sandbox/xint/doc/namespaceboost_1_1xint.html | 4418 ++++++++++++++++++++++++++++++++++++++-
   sandbox/xint/doc/namespaceboost_1_1xint_1_1blockable.html | 1922 ----------------
   sandbox/xint/doc/namespaceboost_1_1xint_1_1core.html | 40
   sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html | 164 +
   sandbox/xint/doc/namespacemembers.html | 253 -
   sandbox/xint/doc/namespacemembers_func.html | 250 -
   sandbox/xint/doc/namespacemembers_type.html | 5
   sandbox/xint/doc/namespacemembers_vars.html | 2
   sandbox/xint/doc/namespaces.html | 8
   sandbox/xint/doc/namespacestd.html | 15
   sandbox/xint/doc/nan.html | 14
   sandbox/xint/doc/nan_8dox.html | 2
   sandbox/xint/doc/nothrow__compare_8cpp.html | 37
   sandbox/xint/doc/nothrow__convert_8cpp.html | 31
   sandbox/xint/doc/nothrow__gcd_8cpp.html | 24
   sandbox/xint/doc/nothrow__gcd_8cpp_source.html | 39
   sandbox/xint/doc/nothrow__integer_8cpp.html | 21
   sandbox/xint/doc/nothrow__misc_8cpp.html | 23
   sandbox/xint/doc/nothrow__misc_8cpp_source.html | 27
   sandbox/xint/doc/nothrow__modular_8cpp.html | 31
   sandbox/xint/doc/nothrow__powers_8cpp.html | 27
   sandbox/xint/doc/nothrow__primes_8cpp.html | 25
   sandbox/xint/doc/nothrow__primes_8cpp_source.html | 39
   sandbox/xint/doc/nothrow__random_8cpp.html | 23
   sandbox/xint/doc/nothrow__random_8cpp_source.html | 34
   sandbox/xint/doc/nothrow__roots_8cpp.html | 23
   sandbox/xint/doc/nothrow__roots_8cpp_source.html | 31
   sandbox/xint/doc/operators_8cpp.html | 29
   sandbox/xint/doc/operators_8cpp_source.html | 28
   sandbox/xint/doc/pages.html | 2
   sandbox/xint/doc/powers_8cpp.html | 25
   sandbox/xint/doc/powers_8cpp_source.html | 202
   sandbox/xint/doc/primes.html | 15
   sandbox/xint/doc/primes_8cpp.html | 17
   sandbox/xint/doc/primes_8cpp_source.html | 196
   sandbox/xint/doc/primes_8dox.html | 2
   sandbox/xint/doc/primitives_8cpp.html | 37
   sandbox/xint/doc/primitives_8cpp_source.html | 465 ++--
   sandbox/xint/doc/r__core.html | 13
   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 | 8
   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 | 4
   sandbox/xint/doc/r__nan_8dox.html | 2
   sandbox/xint/doc/r__negzero.html | 6
   sandbox/xint/doc/r__negzero_8dox.html | 2
   sandbox/xint/doc/r__random.html | 4
   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 | 4
   sandbox/xint/doc/random_8cpp.html | 13
   sandbox/xint/doc/random_8cpp_source.html | 375 +-
   sandbox/xint/doc/random_8dox.html | 2
   sandbox/xint/doc/random_8hpp.html | 36
   sandbox/xint/doc/rationale.html | 8
   sandbox/xint/doc/rationale_8dox.html | 2
   sandbox/xint/doc/roots_8cpp.html | 13
   sandbox/xint/doc/roots_8cpp_source.html | 48
   sandbox/xint/doc/securemode.html | 2
   sandbox/xint/doc/securemode_8dox.html | 2
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html | 2
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html | 8
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html | 32
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html | 535 ----
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits-members.html | 2
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html | 12
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html | 2
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html | 18
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1token.html | 6
   sandbox/xint/doc/testing.html | 2
   sandbox/xint/doc/testing_8dox.html | 2
   sandbox/xint/doc/threadsafe.html | 3
   sandbox/xint/doc/threadsafe_8dox.html | 2
   sandbox/xint/doc/todo.html | 11
   sandbox/xint/doc/xint_8hpp.html | 339 ---
   sandbox/xint/doc/xint_8hpp_source.html | 687 ------
   sandbox/xint/doc/xint__data__t_8hpp.html | 16
   sandbox/xint/doc/xint__data__t_8hpp_source.html | 95
   sandbox/xint/doc/xint__monty_8hpp.html | 2
   sandbox/xint/doc/xint__monty_8hpp_source.html | 2
   sandbox/xint/doc/xint__test_8hpp.html | 2
   sandbox/xint/doc/xint__test_8hpp_source.html | 2
   sandbox/xint/doc/zero_8dox.html | 6
   sandbox/xint/example/exceptions.cpp | 41
   sandbox/xint/example/fibonacci.cpp | 2
   sandbox/xint/example/genprime.cpp | 9
   sandbox/xint/src/bit_manipulations.cpp | 68
   sandbox/xint/src/compare.cpp | 26
   sandbox/xint/src/convert.cpp | 55
   sandbox/xint/src/data_t.cpp | 388 --
   sandbox/xint/src/gcd.cpp | 6
   sandbox/xint/src/integer.cpp | 140 -
   sandbox/xint/src/misc.cpp | 3
   sandbox/xint/src/modular.cpp | 8
   sandbox/xint/src/monty.cpp | 9
   sandbox/xint/src/nothrow_compare.cpp | 43
   sandbox/xint/src/nothrow_misc.cpp | 17
   sandbox/xint/src/nothrow_primes.cpp | 24
   sandbox/xint/src/nothrow_random.cpp | 19
   sandbox/xint/src/nothrow_roots.cpp | 13
   sandbox/xint/src/operators.cpp | 2
   sandbox/xint/src/powers.cpp | 40
   sandbox/xint/src/primes.cpp | 16
   sandbox/xint/src/primitives.cpp | 97
   sandbox/xint/src/random.cpp | 27
   sandbox/xint/src/roots.cpp | 8
   sandbox/xint/test/test_add.cpp | 14
   sandbox/xint/test/test_bit_manipulations.cpp | 2
   sandbox/xint/test/test_convert.cpp | 13
   sandbox/xint/test/test_divide.cpp | 2
   sandbox/xint/test/test_main.cpp | 18
   sandbox/xint/test/test_monty.cpp | 4
   sandbox/xint/test/test_multiply.cpp | 4
   sandbox/xint/test/test_streams.cpp | 9
   246 files changed, 9473 insertions(+), 10351 deletions(-)

Added: sandbox/xint/boost/xint/exceptions.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/exceptions.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,138 @@
+
+/*
+ The Extended Integer (XInt) Library
+ A fast, portable C++ library for multi-precision integer math
+ Copyright 2010 by Chad Nelson
+
+ Distributed under the Boost Software License, Version 1.0.
+ See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt
+
+ See http://www.boost.org/libs/xint for library home page.
+*/
+
+/*! \file
+ \brief The exception namespace.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_EXCEPTIONS_HPP
+#define BOOST_INCLUDED_XINT_EXCEPTIONS_HPP
+
+#include "internals.hpp"
+
+namespace boost {
+namespace xint {
+
+//! \brief Every exception the library throws is from this namespace.
+namespace exceptions {
+
+/*!
+ Derived from \c std::invalid_argument.
+*/
+class invalid_argument: public std::invalid_argument {
+ public:
+ invalid_argument(const std::string& what="invalid argument"):
+ std::invalid_argument(what) { }
+};
+
+/*!
+ Derived from \c std::invalid_argument.
+*/
+class invalid_base: public std::invalid_argument {
+ public:
+ invalid_base(const std::string& what="invalid base"): invalid_argument(what)
+ { }
+};
+
+/*!
+ Derived from \c std::range_error.
+*/
+class invalid_digit: public std::range_error {
+ public:
+ invalid_digit(const std::string& what="invalid digit"): range_error(what)
+ { }
+};
+
+/*!
+ Derived from \c std::invalid_argument.
+*/
+class invalid_modulus: public std::invalid_argument {
+ public:
+ invalid_modulus(const std::string& what="invalid modulus"):
+ invalid_argument(what) { }
+};
+
+/*!
+ Derived from \c std::invalid_argument.
+*/
+class divide_by_zero: public std::invalid_argument {
+ public:
+ divide_by_zero(const std::string& what="divide by zero error"):
+ invalid_argument(what) { }
+};
+
+/*!
+ Derived from \c std::invalid_argument.
+*/
+class cannot_represent: public std::invalid_argument {
+ public:
+ cannot_represent(const std::string& what=
+ "cannot represent the requested value"): invalid_argument(what) { }
+};
+
+/*!
+ Derived from \c std::range_error.
+*/
+class too_big: public std::range_error {
+ public:
+ too_big(const std::string& what=
+ "value out of range for requested conversion"): range_error(what) { }
+};
+
+/*!
+ Derived from \c std::runtime_error.
+
+ \remarks
+ Most library functions will throw a not_a_number exception if you try to use
+ a \ref nan "Not-a-Number value" in them.
+*/
+class not_a_number: public std::runtime_error {
+ public:
+ not_a_number(const std::string& what="attempted to use a Not-a-Number"):
+ runtime_error(what) { }
+};
+
+/*!
+ Derived from \c std::runtime_error.
+
+ \remarks
+ Thrown by the xint::strong_random_generator class's constructor, if the
+ system does not provide a cryptographically-secure random generator. Also
+ thrown if the generator fails when asked to provide a random value, though
+ this should be vanishingly rare.
+*/
+class no_strong_random: public std::runtime_error {
+ public:
+ no_strong_random(const std::string& what=
+ "system does not have a strong random generator"):
+ runtime_error(what) { }
+};
+
+/*!
+ Derived from \c std::overflow_error.
+
+ \remarks
+ Thrown when the library can't get enough memory to represent a number.
+*/
+class overflow_error: public std::overflow_error {
+ public:
+ overflow_error(const std::string& what=
+ "overflow error: can't obtain enough memory to represent the requested number"):
+ std::overflow_error(what) { }
+};
+
+} // namespace exception
+} // namespace xint
+} // namespace boost
+
+#endif // BOOST_INCLUDED_XINT_EXCEPTIONS_HPP

Added: sandbox/xint/boost/xint/integer.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/integer.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,436 @@
+
+/*
+ The Extended Integer (XInt) Library
+ A fast, portable C++ library for multi-precision integer math
+ Copyright 2010 by Chad Nelson
+
+ Distributed under the Boost Software License, Version 1.0.
+ See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt
+
+ See http://www.boost.org/libs/xint for library home page.
+*/
+
+/*! \file
+ \brief Declares the core integer type.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_INTEGER_HPP
+#define BOOST_INCLUDED_XINT_INTEGER_HPP
+
+#include "internals.hpp"
+#include "exceptions.hpp"
+#include <boost/type_traits.hpp>
+
+namespace boost {
+namespace xint {
+
+/*! \brief The core %integer class.
+
+ This class implements the standard \c integer type.
+
+ There are only a few member functions; most of the functionality is
+ implemented using standalone functions.
+
+ Functions that start with an underscore (such as \c _make_unique) are
+ intended for internal use only. They may change arbitrarily in future
+ versions.
+*/
+class integer: public detail::base_integer {
+ public:
+
+ //! \name Constructors & Destructors
+ //!@{
+ integer();
+ integer(const integer& b);
+ explicit integer(const nothrow_integer& b);
+ explicit integer(const std::string& str, size_t base=10);
+ template <typename T> integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_signed<T> >::type* = 0);
+ template <typename T> integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
+ //!@}
+
+ /*! \name Mathematical and Bitwise Operators
+ \brief These operate exactly like their counterparts for the built-in
+ %integer types.
+
+ Note that there is no \c operator~. Since the integer type doesn't have
+ a fixed maximum size, there is no logical way to implement it.
+ */
+ //@{
+ integer& operator=(const integer &c);
+
+ integer& operator+=(const integer& b);
+ integer& operator-=(const integer& b);
+ integer& operator*=(const integer& b);
+ integer& operator/=(const integer& b);
+ integer& operator%=(const integer& b);
+
+ integer& operator++(); //!< \details Preincrement operator
+ integer& operator--(); //!< \details Predecrement operator
+ integer operator++(int); //!< \details Postincrement operator -- not recommended, inefficient
+ integer operator--(int); //!< \details Postdecrement operator -- not recommended, inefficient
+
+ integer& operator&=(const integer& n);
+ integer& operator|=(const integer& n);
+ integer& operator^=(const integer& n);
+ integer operator<<(size_t shift) const;
+ integer operator>>(size_t shift) const;
+ integer& operator<<=(size_t shift);
+ integer& operator>>=(size_t shift);
+ //@}
+
+ /*! \name Preconstructed integers
+
+ These return preconstructed integers with the values named by the
+ functions. They are used internally, so that the most common values
+ don't have to be constructed each time they're needed.
+ */
+ //@{
+ static const integer& zero();
+ static const integer& one();
+ //@}
+
+ //! \name Miscellaneous Functions
+ //!@{
+ bool odd() const;
+ bool even() const;
+ int sign(bool signed_zero=false) const;
+
+ size_t hex_digits() const;
+ //!@}
+
+ /*! \name Internal Functions
+ \brief These functions allow access to the internals of the %integer.
+ They are intended for internal use only.
+ */
+ //@{
+ void _make_unique();
+ //@}
+};
+
+//! \name Mathematical primitives
+//!@{
+integer abs(const integer& n);
+integer negate(const integer& n);
+integer add(const integer& n, const integer& addend);
+integer subtract(const integer& n, const integer& subtrahend);
+integer multiply(const integer& n, const integer& multiplicand);
+integer divide(const integer& dividend, const integer& divisor);
+std::pair<integer, integer> divide_r(const integer& dividend, const integer&
+ divisor);
+//!@}
+
+//! \name Powers and roots
+//!@{
+integer sqr(const integer& n);
+integer pow(const integer& n, const integer& exponent);
+integer pow2(size_t exponent);
+integer factorial(size_t n);
+integer sqrt(const integer& n);
+//!@}
+
+//! \name Conversion functions
+//!@{
+template <typename T> T to(const integer& n);
+std::string to_string(const integer& n, size_t base=10, bool upperCase=false);
+integer from_string(const std::string& str, size_t base=10);
+std::string to_binary(const integer& n);
+integer from_binary(const std::string& s);
+//!@}
+
+//! \name Bit-manipulation functions
+//!@{
+bool getbit(const integer& n, size_t bit);
+void setbit(integer& n, size_t bit);
+void clearbit(integer& n, size_t bit);
+size_t lowestbit(const integer& n, size_t valueIfZero=0);
+size_t highestbit(const integer& n, size_t valueIfZero=0);
+integer bitwise_and(const integer& n1, const integer& n2);
+integer bitwise_or (const integer& n1, const integer& n2);
+integer bitwise_xor(const integer& n1, const integer& n2);
+integer shift(const integer& n, int byBits);
+integer shift_left(const integer& n, size_t byBits);
+integer shift_right(const integer& n, size_t byBits);
+//!@}
+
+/*! \name Modular math functions
+
+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.
+*/
+//!@{
+integer mod(const integer& n, const integer& modBy);
+integer mulmod(const integer& n, const integer& by, const integer& modulus);
+integer sqrmod(const integer& n, const integer& modulus);
+integer powmod(const integer& n, const integer& exponent, const integer&
+ modulus, bool noMontgomery=false);
+integer invmod(const integer& n, const integer& modulus);
+//!@}
+
+//! \name Random number functions
+//!@{
+integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
+ lowBitOn=false, bool canBeNegative=false);
+//!@}
+
+//! \name Prime number functions
+//!@{
+int is_prime(const integer& n, callback_t callback=no_callback);
+integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
+//!@}
+
+/*! \name Operators
+
+ These act exactly the same as for the built-in %integer types.
+*/
+//!@{
+bool operator!(const integer& n1);
+bool operator<(const integer& n1, const integer& n2);
+bool operator>(const integer& n1, const integer& n2);
+bool operator<=(const integer& n1, const integer& n2);
+bool operator>=(const integer& n1, const integer& n2);
+bool operator==(const integer& n1, const integer& n2);
+bool operator!=(const integer& n1, const integer& n2);
+
+const integer& operator+(const integer& a);
+integer operator-(const integer& a);
+integer operator+(const integer& n1, const integer& n2);
+integer operator-(const integer& n1, const integer& n2);
+integer operator*(const integer& n1, const integer& n2);
+integer operator/(const integer& n1, const integer& n2);
+integer operator%(const integer& n1, const integer& n2);
+integer operator&(const integer& n1, const integer& n2);
+integer operator|(const integer& n1, const integer& n2);
+integer operator^(const integer& n1, const integer& n2);
+//!@}
+
+//! \name Miscellaneous functions
+//!@{
+int compare(const integer &n1, const integer &n2, bool ignoresign=false);
+size_t log2(const integer& n);
+integer gcd(const integer& num1, const integer& num2);
+integer lcm(const integer& num1, const integer& num2);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+// Template function definitions
+
+/*!
+ Constructs a new integer object with the value of the built-in signed
+ %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> integer::integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_signed<T> >::type*)
+{
+ if (n >= 0) {
+ if (static_cast<T>(n & detail::digit_mask) == n)
+ _attach_1(detail::digit_t(n));
+ else _attach_n(boost::uintmax_t(n));
+ } else if (n == (std::numeric_limits<T>::min)()) {
+ // Have to treat the minimum number carefully, because -n is not
+ // what you'd think it is.
+ _attach_n(boost::uintmax_t(-(n+1)));
+ _set_negative(true);
+ --(*this);
+ } else {
+ _attach_n(boost::uintmax_t(-n));
+ _set_negative(true);
+ }
+}
+
+/*!
+ Constructs a new integer object with the value of the built-in unsigned
+ %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> integer::integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_unsigned<T> >::type*)
+{
+ if (static_cast<T>(n & detail::digit_mask) == n)
+ _attach_1(detail::digit_t(n));
+ else _attach_n(boost::uintmax_t(n));
+}
+
+/*! \brief Efficiently converts from an xint::integer to a built-in %integer
+ type.
+
+\param[in] n The integer to convert.
+\tparam T The type to convert it to.
+
+\returns The numeric value of \c n, converted to the specified type.
+
+\exception exceptions::too_big if \c n would not fit into the specified type.
+*/
+template <typename T>
+T to(const integer& n) {
+ if (n < (std::numeric_limits<T>::min)()
+ || n > (std::numeric_limits<T>::max)())
+ throw exceptions::too_big("value out of range for requested "
+ "conversion");
+
+ T rval=0;
+ size_t len=n._get_length();
+ for (size_t x=0; x<len; ++x)
+ rval=static_cast<T>((rval * detail::digit_overflowbit)
+ + n._get_digit(len-x-1));
+ if (n.sign() < 0) rval *= -1;
+ return rval;
+}
+
+//! \name Stream input/output functions
+//!@{
+template <typename charT, typename traits>
+inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
+ traits>& out, const integer& n)
+{
+ int base=((out.flags() & std::ios::hex) ? 16
+ : (out.flags() & std::ios::oct) ? 8
+ : 10);
+ bool upperCase=(out.flags() & std::ios::uppercase ? true : false);
+
+ int nsign=n.sign();
+ if ((out.flags() & std::ios::showpos) && nsign >= 0) out << "+";
+
+ if (out.flags() & std::ios::showbase) {
+ if (nsign < 0) out << "-";
+
+ if (base==16 && upperCase) out << "0X";
+ else if (base==16) out << "0x";
+ else if (base==8) out << "0";
+
+ out << to_string(abs(n), base, upperCase);
+ } else {
+ out << to_string(n, base, upperCase);
+ }
+ return out;
+}
+
+template <typename charT, typename traits>
+inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
+ traits>& in, integer& n)
+{
+ int hex=(in.flags() & std::ios::hex) ? 1 : 0;
+ int dec=(in.flags() & std::ios::dec) ? 1 : 0;
+ int oct=(in.flags() & std::ios::oct) ? 1 : 0;
+ int count=hex+dec+oct;
+
+ size_t base=autobase;
+ if (count==1) {
+ if (hex) base=16;
+ else if (oct) base=8;
+ else base=10;
+ } else if (count>1) base=10;
+ // else auto-base
+
+ std::string s;
+ if (in.peek()=='+') {
+ in.ignore();
+ } else if (in.peek()=='-') {
+ in.ignore();
+ s.push_back('-');
+ }
+
+ if (base==autobase) {
+ if (in.peek()=='0') {
+ in.ignore();
+ int c=in.peek();
+ if (c=='x' || c=='X') {
+ in.ignore();
+ base=16;
+ } else base=8;
+ } else base=10;
+ }
+
+ while (in) {
+ int c=in.peek();
+ if ((base==8 && (c>='0' && c<='7')) ||
+ (base==10 && (c>='0' && c<='9')) ||
+ (base==16 && ((c>='0' && c<='9') || (c>='a' && c<='f') ||
+ (c>='A' && c<='F'))))
+ {
+ in.ignore();
+ s.push_back(char(c));
+ } else break;
+ }
+
+ try {
+ integer testValue=from_string(s, base);
+ n=testValue;
+ } catch (std::exception&) {
+ // Catch invalid strings
+ in.setstate(std::ios::failbit);
+ }
+
+ return in;
+}
+//!@}
+
+} // namespace xint
+} // namespace boost
+
+namespace std {
+template<>
+class numeric_limits<boost::xint::integer> {
+ public:
+ static const bool is_specialized = true;
+
+ static boost::xint::integer min() throw() { return 0; } // Not applicable
+ static boost::xint::integer max() throw() { return 0; } // Not applicable
+
+ static const int digits = 0; // Not applicable
+ static const int digits10 = 0; // Not applicable
+ static const bool is_signed = true;
+ static const bool is_integer = true;
+ static const bool is_exact = true;
+ static const int radix = 2;
+ static boost::xint::integer epsilon() throw() { return 0; }
+ static boost::xint::integer round_error() throw() { return 0; }
+
+ static const int min_exponent = 0; // Not applicable
+ static const int min_exponent10 = 0; // Not applicable
+ static const int max_exponent = 0; // Not applicable
+ static const int max_exponent10 = 0; // Not applicable
+
+ static const bool has_infinity = false;
+ static const bool has_quiet_NaN = false;
+ static const bool has_signaling_NaN = false;
+ static const float_denorm_style has_denorm = denorm_absent; // Not applicable
+ static const bool has_denorm_loss = false; // Not applicable
+
+ static boost::xint::integer infinity() throw() { return 0; } // Not applicable
+ static boost::xint::integer quiet_NaN() throw() { return 0; } // Not applicable
+ static boost::xint::integer signaling_NaN() throw() { return 0; } // Not applicable
+ static boost::xint::integer denorm_min() throw() { return 0; } // Not applicable
+
+ static const bool is_iec559 = false;
+ static const bool is_bounded = false;
+ static const bool is_modulo = false;
+
+ static const bool traps = true; // I assume this means exceptions?
+ static const bool tinyness_before = false; // Not applicable
+ static const float_round_style round_style = round_indeterminate; // Not applicable
+};
+} // namespace std
+
+#endif // BOOST_INCLUDED_XINT_INTEGER_HPP

Added: sandbox/xint/boost/xint/internals.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/internals.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,159 @@
+
+/*
+ The Extended Integer (XInt) Library
+ A fast, portable C++ library for multi-precision integer math
+ Copyright 2010 by Chad Nelson
+
+ Distributed under the Boost Software License, Version 1.0.
+ See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt
+
+ See http://www.boost.org/libs/xint for library home page.
+*/
+
+/*! \file
+ \brief Contains the internal definitions required for all XInt types.
+
+ This file will be included by the library itself when needed.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_INTERNALS_HPP
+#define BOOST_INCLUDED_XINT_INTERNALS_HPP
+
+#include <string>
+#include <limits>
+#include <cstddef> // for size_t
+#include <iostream>
+#include <stdexcept>
+#include <boost/integer.hpp>
+#include <boost/cstdint.hpp>
+#include <boost/function.hpp>
+
+namespace boost {
+
+//! \brief All the types and functions of the library are within this namespace.
+namespace xint {
+
+//! \brief The items within this namespace are meant for internal use only.
+namespace detail {
+
+/*!
+ This is the type used for calculations. It should be the largest
+ built-in integral type the system can offer, for maximum processing
+ efficiency.
+*/
+typedef boost::uintmax_t doubledigit_t;
+
+/*!
+ 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.
+*/
+typedef boost::uint_t<std::numeric_limits<doubledigit_t>::digits / 2>::fast
+ digit_t;
+
+//! \name Some constants used by the library.
+//!@{
+const size_t bits_per_digit = std::numeric_limits<digit_t>::digits;
+const digit_t digit_hibit = (digit_t(1) << (bits_per_digit-1));
+const doubledigit_t doubledigit_hibit = (doubledigit_t(1) << (bits_per_digit*2-1));
+const doubledigit_t digit_overflowbit = (doubledigit_t(1) << bits_per_digit);
+const digit_t digit_mask = digit_t(digit_overflowbit-1);
+//!@}
+
+//! Holds the text representation of the Not-a-Number value.
+const extern std::string nan_text;
+
+//! \brief Holds the magnitude digits of an integer.
+template <int digit_count=1>
+struct data_t {
+ size_t copies, length, max_length;
+ digit_t magnitude[digit_count];
+};
+
+//! \name The variable-length data_t functions.
+//!@{
+data_t<> *allocate(size_t max_digits, size_t initial_length=
+ (std::numeric_limits<size_t>::max)());
+data_t<> *reallocate(data_t<> *olddata, size_t newsize);
+data_t<> *duplicate(data_t<> *olddata, size_t extra=0);
+data_t<> *duplicate(data_t<> *olddata, data_t<> *data_to_copy, size_t extra=0);
+void deallocate(data_t<> *data);
+//!@}
+
+//! \brief The base class for the integer classes.
+class base_integer {
+ public:
+ ~base_integer();
+
+ //! \name Internal Functions
+ //@{
+ detail::digit_t _get_digit(size_t index) const;
+ detail::digit_t _get_digit(size_t index, bool) const; //!< \overload
+ detail::digit_t* _get_digits();
+ const detail::digit_t* _get_digits() const; //!< \overload
+ size_t _get_length() const;
+ bool _is_unique() const;
+ bool _is_zero() const;
+ bool _get_negative() const;
+ void _set_negative(bool neg);
+ void _cleanup();
+ void _realloc(size_t new_digit_count);
+ void _duplicate(const base_integer& copy, size_t extra);
+ void _shift_left(size_t byBits);
+ void _shift_right(size_t byBits);
+ void _add(const base_integer& n);
+ void _subtract(const base_integer& n);
+ //@}
+
+ protected:
+ base_integer(): fixed_mask(0), negative(false), data(0) { }
+ base_integer(size_t count, digit_t mask, void *d);
+
+ bool _is_nan() const { return (data==0); };
+ void _base_make_unique();
+ void _attach(data_t<> *new_data, bool neg=false);
+ void _attach(const base_integer& copy);
+ void _attach_0();
+ void _attach_1(digit_t n);
+ void _attach_n(boost::uintmax_t n);
+ void _set_n(boost::uintmax_t n);
+
+ private:
+ digit_t fixed_mask; //!< For the topmost digit; zero for variable-sized
+
+ bool negative;
+ data_t<> *data;
+};
+
+} // namespace detail
+
+//! A callback function takes no parameters and returns a bool.
+//! @see xint::is_prime
+//! @see xint::random_prime
+typedef boost::function<bool ()> callback_t;
+
+//! An empty callback_t, used as a default parameter for some functions.
+//! @see xint::is_prime
+//! @see xint::random_prime
+const callback_t no_callback;
+
+//! A value that can be used for the 'base' parameter of the string-to-integer functions
+//! @see xint::integer::integer(const std::string& str, size_t base)
+//! @see xint::from_string
+const size_t autobase=(std::numeric_limits<size_t>::max)();
+
+class integer;
+class nothrow_integer;
+template <size_t bits> class fixed_integer;
+
+//! \name Miscellaneous functions
+//!@{
+bool opt_secure_mode();
+bool opt_thread_safe();
+//!@}
+
+} // namespace xint
+} // namespace boost
+
+#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP

Copied: sandbox/xint/boost/xint/monty.hpp (from r61200, /sandbox/xint/boost/xint/xint_monty.hpp)
==============================================================================
--- /sandbox/xint/boost/xint/xint_monty.hpp (original)
+++ sandbox/xint/boost/xint/monty.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -18,12 +18,11 @@
     used internally to speed up the xint::powmod function for odd modulii.
 */
 
-#ifndef BOOST_INCLUDED_XINT_MONTY_H
-#define BOOST_INCLUDED_XINT_MONTY_H
+#ifndef BOOST_INCLUDED_XINT_MONTY_HPP
+#define BOOST_INCLUDED_XINT_MONTY_HPP
 
 namespace boost {
 namespace xint {
-namespace core {
 
 //! \name Montgomery Reduction functions
 //!@{
@@ -36,8 +35,7 @@
 integer montgomeryPowerMod(const integer& x, const integer& e, const integer& m);
 //!@}
 
-} // namespace core
 } // namespace xint
 } // namespace boost
 
-#endif // BOOST_INCLUDED_XINT_MONTY_H
+#endif // BOOST_INCLUDED_XINT_MONTY_HPP

Added: sandbox/xint/boost/xint/nothrow_integer.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/nothrow_integer.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,398 @@
+
+/*
+ The Extended Integer (XInt) Library
+ A fast, portable C++ library for multi-precision integer math
+ Copyright 2010 by Chad Nelson
+
+ Distributed under the Boost Software License, Version 1.0.
+ See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt
+
+ See http://www.boost.org/libs/xint for library home page.
+*/
+
+/*! \file
+ \brief Declares the \c xint::nothrow_integer class.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP
+#define BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP
+
+#include "internals.hpp"
+#include "integer.hpp"
+#include <boost/type_traits.hpp>
+
+namespace boost {
+namespace xint {
+
+/*! \brief The %nothrow_integer class.
+
+ Functions using this class do not throw exceptions, they return special
+ values (most often \ref nan "Not-a-Number") to indicate failures.
+
+ There are only a few member functions; most of the functionality is
+ implemented using standalone functions.
+
+ Functions that start with an underscore (such as \c _make_unique) are
+ intended for internal use only. They may change arbitrarily in future
+ versions.
+*/
+class nothrow_integer: public detail::base_integer {
+ public:
+
+ //! \name Constructors & Destructors
+ //!@{
+ nothrow_integer();
+ nothrow_integer(const nothrow_integer& b);
+ nothrow_integer(const integer& b);
+ explicit nothrow_integer(const std::string& str, size_t base=10);
+ template <typename T> nothrow_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_signed<T> >::type* = 0);
+ template <typename T> nothrow_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
+ //!@}
+
+ /*! \name Mathematical and Bitwise Operators
+ \brief These operate exactly like their counterparts for the built-in
+ %integer types.
+
+ Note that there is no \c operator~. Since the nothrow_integer type
+ doesn't have a fixed maximum size, there is no logical way to implement
+ it.
+ */
+ //@{
+ nothrow_integer& operator=(const nothrow_integer &c);
+
+ nothrow_integer& operator+=(const nothrow_integer& b);
+ nothrow_integer& operator-=(const nothrow_integer& b);
+ nothrow_integer& operator*=(const nothrow_integer& b);
+ nothrow_integer& operator/=(const nothrow_integer& b);
+ nothrow_integer& operator%=(const nothrow_integer& b);
+
+ nothrow_integer& operator++(); //!< \details Preincrement operator
+ nothrow_integer& operator--(); //!< \details Predecrement operator
+ nothrow_integer operator++(int); //!< \details Postincrement operator -- not recommended, inefficient
+ nothrow_integer operator--(int); //!< \details Postdecrement operator -- not recommended, inefficient
+
+ nothrow_integer& operator&=(const nothrow_integer& n);
+ nothrow_integer& operator|=(const nothrow_integer& n);
+ nothrow_integer& operator^=(const nothrow_integer& n);
+ nothrow_integer operator<<(size_t shift) const;
+ nothrow_integer operator>>(size_t shift) const;
+ nothrow_integer& operator<<=(size_t shift);
+ nothrow_integer& operator>>=(size_t shift);
+ //@}
+
+ //! \name Miscellaneous Functions
+ //!@{
+ bool odd() const;
+ bool even() const;
+ int sign(bool signed_zero=false) const;
+ bool is_nan() const;
+
+ size_t hex_digits() const;
+ //!@}
+
+ /*! \name Preconstructed integers
+
+ These return preconstructed integers with the values named by the
+ functions. They are used internally, so that the most common values
+ don't have to be constructed each time they're needed.
+ */
+ //@{
+ static const nothrow_integer& zero();
+ static const nothrow_integer& one();
+ static const nothrow_integer& nan();
+ //@}
+
+ /*! \name Internal Functions
+ \brief These functions allow access to the internals of the
+ %integer. They are intended for internal use only.
+ */
+ //@{
+ void _make_unique();
+ //@}
+};
+
+//! \name Mathematical primitives
+//!@{
+nothrow_integer abs(const nothrow_integer& n);
+nothrow_integer negate(const nothrow_integer& n);
+nothrow_integer add(const nothrow_integer& n, const nothrow_integer& addend);
+nothrow_integer subtract(const nothrow_integer& n, const nothrow_integer&
+ subtrahend);
+nothrow_integer multiply(const nothrow_integer& n, const nothrow_integer&
+ multiplicand);
+nothrow_integer divide(const nothrow_integer& dividend, const nothrow_integer&
+ divisor);
+std::pair<nothrow_integer, nothrow_integer> divide_r(const nothrow_integer&
+ dividend, const nothrow_integer& divisor);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Powers and roots
+//!@{
+nothrow_integer sqr(const nothrow_integer& n);
+nothrow_integer pow(const nothrow_integer& n, const nothrow_integer& exponent);
+nothrow_integer nothrow_pow2(size_t exponent);
+nothrow_integer nothrow_factorial(size_t n);
+nothrow_integer sqrt(const nothrow_integer& n);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Conversion functions
+//!@{
+template <typename T> T to(const nothrow_integer& n);
+std::string to_string(const nothrow_integer& n, size_t base=10, bool upperCase =
+ false);
+nothrow_integer nothrow_from_string(const std::string& str, size_t base=10);
+std::string to_binary(const nothrow_integer& n);
+nothrow_integer nothrow_from_binary(const std::string& s);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Bit-manipulation functions
+//!@{
+bool getbit(const nothrow_integer& n, size_t bit);
+void setbit(nothrow_integer& n, size_t bit);
+void clearbit(nothrow_integer& n, size_t bit);
+size_t lowestbit(const nothrow_integer& n, size_t valueIfZero=0);
+size_t highestbit(const nothrow_integer& n, size_t valueIfZero=0);
+nothrow_integer bitwise_and(const nothrow_integer& n1, const nothrow_integer&
+ n2);
+nothrow_integer bitwise_or (const nothrow_integer& n1, const nothrow_integer&
+ n2);
+nothrow_integer bitwise_xor(const nothrow_integer& n1, const nothrow_integer&
+ n2);
+nothrow_integer shift(const nothrow_integer& n, int byBits);
+nothrow_integer shift_left(const nothrow_integer& n, size_t byBits);
+nothrow_integer shift_right(const nothrow_integer& n, size_t byBits);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+/*! \name Modular math functions
+
+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.
+*/
+//!@{
+nothrow_integer mod(const nothrow_integer& n, const nothrow_integer& modBy);
+nothrow_integer mulmod(const nothrow_integer& n, const nothrow_integer& by,
+ const nothrow_integer& modulus);
+nothrow_integer sqrmod(const nothrow_integer& n, const nothrow_integer&
+ modulus);
+nothrow_integer powmod(const nothrow_integer& n, const nothrow_integer&
+ exponent, const nothrow_integer& modulus, bool noMontgomery=false);
+nothrow_integer invmod(const nothrow_integer& n, const nothrow_integer&
+ modulus);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Random number functions
+//!@{
+nothrow_integer nothrow_random_by_size(size_t sizeInBits, bool highBitOn=false,
+ bool lowBitOn=false, bool canBeNegative=false);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Prime number functions
+//!@{
+int is_prime(const nothrow_integer& n, callback_t callback=no_callback);
+nothrow_integer nothrow_random_prime(size_t sizeInBits, callback_t callback =
+ no_callback);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+/*! \name Operators
+
+ These act exactly the same as for the built-in %integer types.
+*/
+//!@{
+bool operator!(const nothrow_integer& n1);
+bool operator<(const nothrow_integer& n1, const nothrow_integer& n2);
+bool operator>(const nothrow_integer& n1, const nothrow_integer& n2);
+bool operator<=(const nothrow_integer& n1, const nothrow_integer& n2);
+bool operator>=(const nothrow_integer& n1, const nothrow_integer& n2);
+bool operator==(const nothrow_integer& n1, const nothrow_integer& n2);
+bool operator!=(const nothrow_integer& n1, const nothrow_integer& n2);
+
+const nothrow_integer& operator+(const nothrow_integer& a);
+nothrow_integer operator-(const nothrow_integer& a);
+nothrow_integer operator+(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator-(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator*(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator/(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator%(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator&(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator|(const nothrow_integer& n1, const nothrow_integer& n2);
+nothrow_integer operator^(const nothrow_integer& n1, const nothrow_integer& n2);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//! \name Miscellaneous functions
+//!@{
+int compare(const nothrow_integer &n1, const nothrow_integer &n2, bool
+ ignoresign=false);
+size_t log2(const nothrow_integer& n);
+nothrow_integer gcd(const nothrow_integer& num1, const nothrow_integer& num2);
+nothrow_integer lcm(const nothrow_integer& num1, const nothrow_integer& num2);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+// Template function definitions
+
+/*!
+ Constructs a new nothrow_integer object with the value of the built-in
+ signed %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> nothrow_integer::nothrow_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_signed<T> >::type*)
+{
+ try {
+ *this=nothrow_integer(xint::nothrow_integer(n));
+ } catch (std::exception&) {
+ _attach(0);
+ }
+}
+
+/*!
+ Constructs a new nothrow_integer object with the value of the built-in
+ unsigned %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> nothrow_integer::nothrow_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_unsigned<T> >::type*)
+{
+ try {
+ *this=nothrow_integer(xint::nothrow_integer(n));
+ } catch (std::exception&) {
+ _attach(0);
+ }
+}
+
+/*! \copydoc xint::to
+
+\note Returns T(0) instead of throwing.
+*/
+template <typename T>
+T to(const nothrow_integer& n) {
+ try {
+ return to<T>(xint::nothrow_integer(n));
+ } catch (std::exception&) {
+ return 0;
+ }
+}
+
+//! \name Stream input/output functions
+//!@{
+template <typename charT, typename traits>
+inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
+ traits>& out, const nothrow_integer& n)
+{
+ if (n.is_nan()) {
+ out << detail::nan_text;
+ return out;
+ } else {
+ return xint::operator<<(out, xint::nothrow_integer(n));
+ }
+}
+
+template <typename charT, typename traits>
+inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
+ traits>& in, nothrow_integer& n)
+{
+ if (in.peek()=='#') {
+ // Must be either #NaN# or an error
+ char buffer[6];
+ std::streamsize size=in.readsome(buffer, 5);
+ buffer[size]=0;
+ std::string str(buffer);
+
+ if (str==detail::nan_text) n=nothrow_integer::nan();
+ else in.setstate(std::ios::failbit);
+ } else {
+ xint::nothrow_integer nn;
+ xint::operator>>(in, nn);
+ if (in) n=nn;
+ }
+
+ return in;
+}
+//!@}
+
+} // namespace xint
+} // namespace boost
+
+namespace std {
+template<>
+class numeric_limits<boost::xint::nothrow_integer> {
+ public:
+ static const bool is_specialized = true;
+
+ static boost::xint::nothrow_integer min() throw() { return 0; } // Not applicable
+ static boost::xint::nothrow_integer max() throw() { return 0; } // Not applicable
+
+ static const int digits = 0; // Not applicable
+ static const int digits10 = 0; // Not applicable
+ static const bool is_signed = true;
+ static const bool is_integer = true;
+ static const bool is_exact = true;
+ static const int radix = 2;
+ static boost::xint::nothrow_integer epsilon() throw() { return 0; }
+ static boost::xint::nothrow_integer round_error() throw() { return 0; }
+
+ static const int min_exponent = 0; // Not applicable
+ static const int min_exponent10 = 0; // Not applicable
+ static const int max_exponent = 0; // Not applicable
+ static const int max_exponent10 = 0; // Not applicable
+
+ static const bool has_infinity = false;
+ static const bool has_quiet_NaN = true;
+ static const bool has_signaling_NaN = false;
+ static const float_denorm_style has_denorm = denorm_absent; // Not applicable
+ static const bool has_denorm_loss = false; // Not applicable
+
+ static boost::xint::nothrow_integer infinity() throw() { return 0; } // Not applicable
+ static boost::xint::nothrow_integer quiet_NaN() throw()
+ { return boost::xint::nothrow_integer::nan(); }
+ static boost::xint::nothrow_integer signaling_NaN() throw() { return 0; } // Not applicable
+ static boost::xint::nothrow_integer denorm_min() throw() { return 0; } // Not applicable
+
+ static const bool is_iec559 = false;
+ static const bool is_bounded = false;
+ static const bool is_modulo = false;
+
+ static const bool traps = false; // I assume this means exceptions?
+ static const bool tinyness_before = false; // Not applicable
+ static const float_round_style round_style = round_indeterminate; // Not applicable
+};
+} // namespace std
+
+#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP

Added: sandbox/xint/boost/xint/random.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/random.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,110 @@
+
+/*
+ The Extended Integer (XInt) Library
+ A fast, portable C++ library for multi-precision integer math
+ Copyright 2010 by Chad Nelson
+
+ Distributed under the Boost Software License, Version 1.0.
+ See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt
+
+ See http://www.boost.org/libs/xint for library home page.
+*/
+
+/*! \file
+ \brief Declares items relating to random numbers.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_RANDOM_HPP
+#define BOOST_INCLUDED_XINT_RANDOM_HPP
+
+#include "internals.hpp"
+#include <boost/random/uniform_int.hpp>
+#include <boost/random/variate_generator.hpp>
+
+namespace boost {
+namespace xint {
+
+/*! \brief A convenience class for cryptographically-secure random numbers.
+
+ Used with xint::set_random_generator to set the XInt library to use the
+ system-supplied strong random number generator.
+
+ \see \ref random
+*/
+class strong_random_generator {
+ public:
+ typedef unsigned int result_type;
+
+ strong_random_generator();
+ ~strong_random_generator();
+ result_type operator()();
+
+ static const bool has_fixed_range;
+ static const result_type min_value;
+ static const result_type max_value;
+ result_type min() const;
+ result_type max() const;
+ double entropy() const;
+
+ private:
+ struct impl_t;
+ impl_t *impl;
+};
+
+namespace detail {
+ //! The base class for random_generator.
+ struct base_random_generator {
+ typedef unsigned int result_type;
+ virtual result_type operator()()=0;
+ };
+
+ //! Support class for the random generator code.
+ template <class T>
+ struct random_generator: public base_random_generator {
+ typedef boost::uniform_int<result_type> dist_t;
+ typedef boost::variate_generator<T&, dist_t> gen_t;
+ random_generator(T *g): genobj(g), gen(*g,
+ dist_t((std::numeric_limits<result_type>::min)(),
+ (std::numeric_limits<result_type>::max)())) { }
+ result_type operator()() { return gen(); }
+ std::auto_ptr<T> genobj;
+ gen_t gen;
+ };
+
+ //! Support function \see xint::set_random_generator
+ void set_random_generator(base_random_generator *obj);
+
+ /*!
+ \return An unsigned int from the current random generator.
+ \see xint::set_random_generator
+ */
+ unsigned int get_random();
+} // namespace detail
+
+////////////////////////////////////////////////////////////////////////////////
+// Template function definitions
+
+/*! \brief Change the random generator that the library uses.
+
+\param[in] gen A pointer to the new generator to use.
+
+\warning The generator must be a heap-allocated pointer (one created with
+<code>new</code>), which the XInt library assumes ownership of. Don't pass in a
+stack-created item, don't try to delete the item that you passed in, and don't
+attempt to use it separately after passing it to this function, or the behavior
+is undefined.
+
+\remarks
+See the \ref random "Random Number page" for an example of how to use it.
+*/
+template <typename T>
+void set_random_generator(T *gen) {
+ detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
+ detail::set_random_generator(obj);
+}
+
+} // namespace xint
+} // namespace boost
+
+#endif // BOOST_INCLUDED_XINT_RANDOM_HPP

Modified: sandbox/xint/boost/xint/xint.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint.hpp (original)
+++ sandbox/xint/boost/xint/xint.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -12,1052 +12,16 @@
 */
 
 /*! \file
- \brief The main header file for the XInt library.
-
- This is the only header that programs using the library should need to
- include.
-*/
-
-#ifndef BOOST_INCLUDED_XINT_H
-#define BOOST_INCLUDED_XINT_H
-
-#include <string>
-#include <limits>
-#include <memory> // for auto_ptr
-#include <cstddef> // for size_t
-#include <iostream>
-#include <stdexcept>
-#include <boost/integer.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/function.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/variate_generator.hpp>
-
-namespace boost {
-//! \brief The common functions are within this namespace.
-namespace xint {
-
-////////////////////////////////////////////////////////////////////////////////
-// The boring-but-necessary preliminary stuff
-
-//! \brief The items within this namespace are meant for internal use only.
-namespace detail {
- /*!
- This is the type used for calculations. It should be the largest
- built-in integral type the system can offer, for maximum processing
- efficiency.
- */
- typedef boost::uintmax_t doubledigit_t;
-
- /*!
- 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.
- */
- typedef boost::uint_t<std::numeric_limits<doubledigit_t>::digits / 2>::fast
- digit_t;
-
- //! \name Some constants used by the library.
- //!@{
- const size_t bits_per_digit = std::numeric_limits<digit_t>::digits;
- const digit_t digit_hibit = (digit_t(1) << (bits_per_digit-1));
- const doubledigit_t doubledigit_hibit = (doubledigit_t(1) << (bits_per_digit*2-1));
- const doubledigit_t digit_overflowbit = (doubledigit_t(1) << bits_per_digit);
- const digit_t digit_mask = digit_t(digit_overflowbit-1);
- //!@}
-
- //! Holds the text representation of the Not-a-Number value.
- const extern std::string nan_text;
-
- struct data_t;
-
- //! An empty struct, used in xint::token
- struct token { };
-
- //! The base class for random_generator.
- struct base_random_generator {
- typedef unsigned int result_type;
- virtual result_type operator()()=0;
- };
-
- //! Support class for the random generator code.
- template <class T>
- struct random_generator: public base_random_generator {
- typedef boost::uniform_int<result_type> dist_t;
- typedef boost::variate_generator<T&, dist_t> gen_t;
- random_generator(T *g): genobj(g), gen(*g,
- dist_t((std::numeric_limits<result_type>::min)(),
- (std::numeric_limits<result_type>::max)())) { }
- result_type operator()() { return gen(); }
- std::auto_ptr<T> genobj;
- gen_t gen;
- };
-
- //! Support function \see xint::set_random_generator
- void set_random_generator(base_random_generator *obj);
-
- /*!
- \return An unsigned int from the current random generator.
- \see xint::set_random_generator
- */
- unsigned int get_random();
-} // namespace detail
-
-//! Used for the exception-blocker.
-typedef std::auto_ptr<detail::token> token;
-
-//! A callback function takes no parameters and returns a bool.
-//! @see xint::is_prime
-//! @see xint::random_prime
-typedef boost::function<bool ()> callback_t;
-
-//! An empty callback_t, used as a default parameter for some functions.
-//! @see xint::is_prime
-//! @see xint::random_prime
-const callback_t no_callback;
-
-//! A value that can be used for the 'base' parameter of the string-to-integer functions
-//! @see xint::integer::integer(const std::string& str, size_t base)
-//! @see xint::from_string
-const size_t autobase=(std::numeric_limits<size_t>::max)();
-
-namespace blockable {
-class integer;
-} // namespace blockable
-
-/*! \brief Contains the "pure" integer type, and functions to operate on it.
-
-The types and functions in the xint::core namespace ignore exception-blocking
-and do not support the Not-a-Number value. If you attempt to assign a
-Not-a-Number to a core::integer, it will throw an xint::not_a_number exception.
-*/
-namespace core {
-
-//! \brief The base class for the integer classes.
-class base_integer {
- public:
- base_integer(): data(0) { }
- ~base_integer();
-
- //! \name Internal Functions
- //@{
- detail::data_t *_get_data() const { return data; }
- detail::digit_t _get_digit(size_t index) const;
- detail::digit_t _get_digit(size_t index, bool) const; //!< \overload
- size_t _get_length() const;
- bool _is_unique() const;
- //@}
-
- protected:
- void _attach(detail::data_t *new_data);
- void _attach(const base_integer& copy);
-
- private:
- detail::data_t *data;
-};
-
-/*! \brief The core %integer class.
-
- This class implements the "pure" \c integer type, uncontaminated by things
- like the Not-a-Number value.
-
- There are only a few member functions; most of the functionality is
- implemented using standalone functions.
-
- Functions that start with an underscore (such as \c _make_unique) are
- intended for internal use only. They may change arbitrarily in future
- versions.
-*/
-class integer: public core::base_integer {
- public:
-
- //! \name Constructors & Destructors
- //!@{
- integer();
- integer(const integer& b);
- explicit integer(const blockable::integer& b);
- explicit integer(const std::string& str, size_t base=10);
- template <typename T> integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type* = 0,
- typename boost::enable_if<boost::is_signed<T> >::type* = 0);
- template <typename T> integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type* = 0,
- typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
- //!@}
-
- /*! \name Mathematical and Bitwise Operators
- \brief These operate exactly like their counterparts for the built-in
- %integer types.
-
- Note that there is no \c operator~. Since the integer type doesn't have
- a fixed maximum size, there is no logical way to implement it.
- */
- //@{
- integer& operator=(const integer &c);
-
- integer& operator+=(const integer& b);
- integer& operator-=(const integer& b);
- integer& operator*=(const integer& b);
- integer& operator/=(const integer& b);
- integer& operator%=(const integer& b);
-
- integer& operator++(); //!< \details Preincrement operator
- integer& operator--(); //!< \details Predecrement operator
- integer operator++(int); //!< \details Postincrement operator -- not recommended, inefficient
- integer operator--(int); //!< \details Postdecrement operator -- not recommended, inefficient
-
- integer& operator&=(const integer& n);
- integer& operator|=(const integer& n);
- integer& operator^=(const integer& n);
- integer operator<<(size_t shift) const;
- integer operator>>(size_t shift) const;
- integer& operator<<=(size_t shift);
- integer& operator>>=(size_t shift);
- //@}
-
- /*! \name Preconstructed integers
-
- These return preconstructed integers with the values named by the
- functions. They are used internally, so that the most common values
- don't have to be constructed each time they're needed.
- */
- //@{
- static const integer& zero();
- static const integer& one();
- //@}
-
- //! \name Miscellaneous Functions
- //!@{
- bool odd() const;
- bool even() const;
- int sign() const;
-
- size_t hex_digits() const;
- //!@}
-
- /*! \name Internal Functions
- \brief These functions allow access to the internals of the %integer.
- They are intended for internal use only.
- */
- //@{
- void _set_negative(bool negative);
- void _make_unique();
- //@}
-
- protected: /////////////////////////////////////////////////////////////////
- void _init(detail::digit_t init=0);
- void _init(const integer &c); //!< \overload
- void _init(boost::uintmax_t n); //!< \overload
-};
-
-//! \name Mathematical primitives
-//!@{
-integer abs(const integer& n);
-integer negate(const integer& n);
-integer add(const integer& n, const integer& addend);
-integer subtract(const integer& n, const integer& subtrahend);
-integer multiply(const integer& n, const integer& multiplicand);
-integer divide(const integer& dividend, const integer& divisor);
-std::pair<integer, integer> divide_r(const integer& dividend, const integer&
- divisor);
-//!@}
-
-//! \name Powers and roots
-//!@{
-integer sqr(const integer& n);
-integer pow(const integer& n, const integer& exponent);
-integer pow2(size_t exponent);
-integer factorial(size_t n);
-integer sqrt(const integer& n);
-//!@}
-
-//! \name Conversion functions
-//!@{
-template <typename T> T to(const integer& n);
-std::string to_string(const integer& n, size_t base=10, bool upperCase=false);
-integer from_string(const std::string& str, size_t base=10);
-std::string to_binary(const integer& n);
-integer from_binary(const std::string& s);
-//!@}
-
-//! \name Bit-manipulation functions
-//!@{
-bool getbit(const integer& n, size_t bit);
-void setbit(integer& n, size_t bit);
-void clearbit(integer& n, size_t bit);
-size_t lowestbit(const integer& n, size_t valueIfZero=0);
-size_t highestbit(const integer& n, size_t valueIfZero=0);
-integer bitwise_and(const integer& n1, const integer& n2);
-integer bitwise_or (const integer& n1, const integer& n2);
-integer bitwise_xor(const integer& n1, const integer& n2);
-integer shift(const integer& n, int byBits);
-integer shift_left(const integer& n, size_t byBits);
-integer shift_right(const integer& n, size_t byBits);
-//!@}
-
-/*! \name Modular math functions
-
-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.
-*/
-//!@{
-integer mod(const integer& n, const integer& modBy);
-integer mulmod(const integer& n, const integer& by, const integer& modulus);
-integer sqrmod(const integer& n, const integer& modulus);
-integer powmod(const integer& n, const integer& exponent, const integer&
- modulus, bool noMontgomery=false);
-integer invmod(const integer& n, const integer& modulus);
-//!@}
-
-//! \name Random number functions
-//!@{
-integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
- lowBitOn=false, bool canBeNegative=false);
-//!@}
-
-//! \name Prime number functions
-//!@{
-int is_prime(const integer& n, callback_t callback=no_callback);
-integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
-//!@}
-
-/*! \name Operators
-
- These act exactly the same as for the built-in %integer types.
-*/
-//!@{
-bool operator!(const integer& n1);
-bool operator<(const integer& n1, const integer& n2);
-bool operator>(const integer& n1, const integer& n2);
-bool operator<=(const integer& n1, const integer& n2);
-bool operator>=(const integer& n1, const integer& n2);
-bool operator==(const integer& n1, const integer& n2);
-bool operator!=(const integer& n1, const integer& n2);
-
-const integer& operator+(const integer& a);
-integer operator-(const integer& a);
-integer operator+(const integer& n1, const integer& n2);
-integer operator-(const integer& n1, const integer& n2);
-integer operator*(const integer& n1, const integer& n2);
-integer operator/(const integer& n1, const integer& n2);
-integer operator%(const integer& n1, const integer& n2);
-integer operator&(const integer& n1, const integer& n2);
-integer operator|(const integer& n1, const integer& n2);
-integer operator^(const integer& n1, const integer& n2);
-//!@}
-
-//! \name Miscellaneous functions
-//!@{
-int compare(const integer &n1, const integer &n2, bool ignoresign=false);
-size_t log2(const integer& n);
-integer gcd(const integer& num1, const integer& num2);
-integer lcm(const integer& num1, const integer& num2);
-//!@}
-
-} // namespace core
-
-/*! \brief Contains the blockable integer type, and functions to operate on it.
-
-The types and functions in the \c blockable namespace act just like the ones in
-the \c xint::core namespace, except that they honor exception-blocking and
-support a Not-a-Number value.
-
-\see exceptions
-\see nan
-*/
-namespace blockable {
-
-////////////////////////////////////////////////////////////////////////////////
-// The blockable integer class
-
-/*! \brief The blockable %integer class.
-
- Functions using this class can be exception-blocked. See \link exceptions
- this page\endlink for details.
-
- There are only a few member functions; most of the functionality is
- implemented using standalone functions.
-
- Functions that start with an underscore (such as \c _make_unique) are
- intended for internal use only. They may change arbitrarily in future
- versions.
-*/
-class integer: public core::base_integer {
- public:
-
- //! \name Constructors & Destructors
- //!@{
- integer();
- integer(const integer& b);
- integer(const core::integer& b);
- explicit integer(const std::string& str, size_t base=10);
- template <typename T> integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type* = 0,
- typename boost::enable_if<boost::is_signed<T> >::type* = 0);
- template <typename T> integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type* = 0,
- typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
- //!@}
-
- /*! \name Mathematical and Bitwise Operators
- \brief These operate exactly like their counterparts for the built-in
- %integer types.
-
- Note that there is no \c operator~. Since the integer type doesn't have
- a fixed maximum size, there is no logical way to implement it.
- */
- //@{
- integer& operator=(const integer &c);
-
- integer& operator+=(const integer& b);
- integer& operator-=(const integer& b);
- integer& operator*=(const integer& b);
- integer& operator/=(const integer& b);
- integer& operator%=(const integer& b);
-
- integer& operator++(); //!< \details Preincrement operator
- integer& operator--(); //!< \details Predecrement operator
- integer operator++(int); //!< \details Postincrement operator -- not recommended, inefficient
- integer operator--(int); //!< \details Postdecrement operator -- not recommended, inefficient
-
- integer& operator&=(const integer& n);
- integer& operator|=(const integer& n);
- integer& operator^=(const integer& n);
- integer operator<<(size_t shift) const;
- integer operator>>(size_t shift) const;
- integer& operator<<=(size_t shift);
- integer& operator>>=(size_t shift);
- //@}
-
- //! \name Miscellaneous Functions
- //!@{
- bool odd() const;
- bool even() const;
- int sign() const;
- bool is_nan() const;
-
- size_t hex_digits() const;
- //!@}
-
- /*! \name Preconstructed integers
-
- These return preconstructed integers with the values named by the
- functions. They are used internally, so that the most common values
- don't have to be constructed each time they're needed.
- */
- //@{
- static const integer& zero();
- static const integer& one();
- static const integer& nan();
- //@}
-
- /*! \name Internal Functions
- \brief These functions allow access to the internals of the %integer.
- They are intended for internal use only.
- */
- //@{
- void _set_negative(bool negative);
- void _make_unique();
- //@}
-
- private: /////////////////////////////////////////////////////////////////
- void _init(detail::digit_t init=0);
- void _init(const integer &c); //!< \overload
- void _init(boost::uintmax_t n); //!< \overload
-};
-
-//! \name Mathematical primitives
-//!@{
-integer abs(const integer& n);
-integer negate(const integer& n);
-integer add(const integer& n, const integer& addend);
-integer subtract(const integer& n, const integer& subtrahend);
-integer multiply(const integer& n, const integer& multiplicand);
-integer divide(const integer& dividend, const integer& divisor);
-std::pair<integer, integer> divide_r(const integer& dividend, const integer&
- divisor);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Powers and roots
-//!@{
-integer sqr(const integer& n);
-integer pow(const integer& n, const integer& exponent);
-integer pow2(size_t exponent);
-integer factorial(size_t n);
-integer sqrt(const integer& n);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Conversion functions
-//!@{
-template <typename T> T to(const integer& n);
-std::string to_string(const integer& n, size_t base=10, bool upperCase=false);
-integer from_string(const std::string& str, size_t base=10);
-std::string to_binary(const integer& n);
-integer from_binary(const std::string& s);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Bit-manipulation functions
-//!@{
-bool getbit(const integer& n, size_t bit);
-void setbit(integer& n, size_t bit);
-void clearbit(integer& n, size_t bit);
-size_t lowestbit(const integer& n, size_t valueIfZero=0);
-size_t highestbit(const integer& n, size_t valueIfZero=0);
-integer bitwise_and(const integer& n1, const integer& n2);
-integer bitwise_or (const integer& n1, const integer& n2);
-integer bitwise_xor(const integer& n1, const integer& n2);
-integer shift(const integer& n, int byBits);
-integer shift_left(const integer& n, size_t byBits);
-integer shift_right(const integer& n, size_t byBits);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \name Modular math functions
-
-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.
-*/
-//!@{
-integer mod(const integer& n, const integer& modBy);
-integer mulmod(const integer& n, const integer& by, const integer& modulus);
-integer sqrmod(const integer& n, const integer& modulus);
-integer powmod(const integer& n, const integer& exponent, const integer&
- modulus, bool noMontgomery=false);
-integer invmod(const integer& n, const integer& modulus);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Random number functions
-//!@{
-integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
- lowBitOn=false, bool canBeNegative=false);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Prime number functions
-//!@{
-int is_prime(const integer& n, callback_t callback=no_callback);
-integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \name Operators
-
- These act exactly the same as for the built-in %integer types.
-*/
-//!@{
-bool operator!(const integer& n1);
-bool operator<(const integer& n1, const integer& n2);
-bool operator>(const integer& n1, const integer& n2);
-bool operator<=(const integer& n1, const integer& n2);
-bool operator>=(const integer& n1, const integer& n2);
-bool operator==(const integer& n1, const integer& n2);
-bool operator!=(const integer& n1, const integer& n2);
-
-const integer& operator+(const integer& a);
-integer operator-(const integer& a);
-integer operator+(const integer& n1, const integer& n2);
-integer operator-(const integer& n1, const integer& n2);
-integer operator*(const integer& n1, const integer& n2);
-integer operator/(const integer& n1, const integer& n2);
-integer operator%(const integer& n1, const integer& n2);
-integer operator&(const integer& n1, const integer& n2);
-integer operator|(const integer& n1, const integer& n2);
-integer operator^(const integer& n1, const integer& n2);
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
-//! \name Miscellaneous functions
-//!@{
-int compare(const integer &n1, const integer &n2, bool ignoresign=false);
-size_t log2(const integer& n);
-integer gcd(const integer& num1, const integer& num2);
-integer lcm(const integer& num1, const integer& num2);
-//!@}
-
-} // namespace blockable
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \brief A convenience class for cryptographically-secure random numbers.
-
- Used with xint::set_random_generator to set the XInt library to use the
- system-supplied secure random number generator.
-
- \see \ref random
-*/
-class strong_random_generator {
- public:
- typedef unsigned int result_type;
-
- strong_random_generator();
- ~strong_random_generator();
- result_type operator()();
-
- static const bool has_fixed_range;
- static const result_type min_value;
- static const result_type max_value;
- result_type min() const;
- result_type max() const;
- double entropy() const;
-
- private:
- struct impl_t;
- impl_t *impl;
-};
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \name Exception-blocking and -allowing functions
-
- See the \ref exceptions "exception-blocking page" for details on these
- functions and how to use them.
-*/
-//!@{
-bool exceptions_allowed();
-token block_exceptions();
-token allow_exceptions();
-//!@}
-
-//! \name Random number functions
-//!@{
-template <typename T> void set_random_generator(T *gen);
-//!@}
-
-//! \name Miscellaneous functions
-//!@{
-bool opt_secure_mode();
-bool opt_thread_safe();
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-// Exception classes
-
-//! \name Exception classes
-//!@{
-/*! \brief Exception class
-
- Derived from \c std::invalid_argument.
-*/
-class invalid_base: public std::invalid_argument {
- public:
- invalid_base(const std::string& what="invalid base"): invalid_argument(what)
- { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::range_error.
-*/
-class invalid_digit: public std::range_error {
- public:
- invalid_digit(const std::string& what="invalid digit"): range_error(what)
- { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::invalid_argument.
-*/
-class invalid_modulus: public std::invalid_argument {
- public:
- invalid_modulus(const std::string& what="invalid modulus"):
- invalid_argument(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::invalid_argument.
-*/
-class divide_by_zero: public std::invalid_argument {
- public:
- divide_by_zero(const std::string& what="divide by zero error"):
- invalid_argument(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::invalid_argument.
-*/
-class cannot_represent: public std::invalid_argument {
- public:
- cannot_represent(const std::string& what=
- "cannot represent the requested value"): invalid_argument(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::range_error.
-*/
-class too_big: public std::range_error {
- public:
- too_big(const std::string& what=
- "value out of range for requested conversion"): range_error(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::runtime_error.
-
- \remarks
- Most library functions will throw an xint::not_a_number exception if you try
- to use a \link nan Not-a-Number value \endlink in them.
-
- \par
- See this page for details on Not-a-Number.
+ \brief This is the include-everything header.
 */
-class not_a_number: public std::runtime_error {
- public:
- not_a_number(const std::string& what="attempted to use a Not-a-Number"):
- runtime_error(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::runtime_error.
-
- \note Cannot be blocked.
-
- \remarks
- Thrown by the xint::strong_random_generator class's constructor, if the
- system does not provide a cryptographically-secure random generator. Also
- thrown if the generator fails when asked to provide a random value, though
- this should be vanishingly rare.
-*/
-class no_strong_random: public std::runtime_error {
- public:
- no_strong_random(const std::string& what=
- "system does not have a strong random generator"):
- runtime_error(what) { }
-};
-
-/*! \brief Exception class
-
- Derived from \c std::overflow_error.
-
- \remarks
- Thrown when the library can't get enough memory to represent a number.
-*/
-class overflow_error: public std::overflow_error {
- public:
- overflow_error(const std::string& what=
- "overflow error: can't obtain enough memory to represent the requested number"):
- std::overflow_error(what) { }
-};
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-// Template function definitions
-
-/*! \brief Change the random generator that the library uses.
-
-\param[in] gen A pointer to the new generator to use.
-
-\warning The generator must be a heap-allocated pointer (one created with
-<code>new</code>), which the XInt library assumes ownership of. Don't pass in a
-stack-created item, don't try to delete the item that you passed in, and don't
-attempt to use it separately after passing it to this function, or the behavior
-is undefined.
-
-\remarks
-See the \link random Random Number page\endlink for an example of how to use it.
-*/
-template <typename T>
-void set_random_generator(T *gen) {
- detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
- detail::set_random_generator(obj);
-}
-
-namespace core {
-
-/*!
- Constructs a new integer object with the value of the built-in signed
- %integer passed to it.
-
- \param[in] n A number of type \c T.
- \tparam T The type of \c n.
-
- You can ignore the \c enable_if parameters, they are there only to tell
- the compiler what types it applies to.
-
- \overload
-*/
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_signed<T> >::type*)
-{
- if (n >= 0) {
- if (static_cast<T>(n & detail::digit_mask) == n)
- _init(detail::digit_t(n));
- else _init(boost::uintmax_t(n));
- } else if (n == (std::numeric_limits<T>::min)()) {
- // Have to treat the minimum number carefully, because -n is not
- // what you'd think it is.
- _init(boost::uintmax_t(-(n+1)));
- _set_negative(true);
- --(*this);
- } else {
- _init(boost::uintmax_t(-n));
- _set_negative(true);
- }
-}
-
-/*!
- Constructs a new integer object with the value of the built-in unsigned
- %integer passed to it.
-
- \param[in] n A number of type \c T.
- \tparam T The type of \c n.
-
- You can ignore the \c enable_if parameters, they are there only to tell
- the compiler what types it applies to.
-
- \overload
-*/
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_unsigned<T> >::type*)
-{
- if (static_cast<T>(n & detail::digit_mask) == n)
- _init(detail::digit_t(n));
- else _init(boost::uintmax_t(n));
-}
-
-/*! \brief Efficiently converts from an xint::integer to a built-in %integer
- type.
-
-\param[in] n The integer to convert.
-\tparam T The type to convert it to.
-
-\returns The numeric value of \c n, converted to the specified type.
-
-\exception xint::too_big if \c n would not fit into the specified type.
-*/
-template <typename T>
-T to(const integer& n) {
- if (n < (std::numeric_limits<T>::min)()
- || n > (std::numeric_limits<T>::max)())
- throw too_big("value out of range for requested conversion");
-
- T rval=0;
- size_t len=n._get_length();
- for (size_t x=0; x<len; ++x)
- rval=static_cast<T>((rval * detail::digit_overflowbit)
- + n._get_digit(len-x-1));
- if (n.sign() < 0) rval *= -1;
- return rval;
-}
-
-//! \name Stream input/output functions
-//!@{
-template <typename charT, typename traits>
-inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
- traits>& out, const integer& n)
-{
- int base=((out.flags() & std::ios::hex) ? 16
- : (out.flags() & std::ios::oct) ? 8
- : 10);
- bool upperCase=(out.flags() & std::ios::uppercase ? true : false);
-
- int nsign=n.sign();
- if ((out.flags() & std::ios::showpos) && nsign >= 0) out << "+";
-
- if (out.flags() & std::ios::showbase) {
- if (nsign < 0) out << "-";
-
- if (base==16 && upperCase) out << "0X";
- else if (base==16) out << "0x";
- else if (base==8) out << "0";
-
- out << to_string(abs(n), base, upperCase);
- } else {
- out << to_string(n, base, upperCase);
- }
- return out;
-}
-
-template <typename charT, typename traits>
-inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
- traits>& in, integer& n)
-{
- int hex=(in.flags() & std::ios::hex) ? 1 : 0;
- int dec=(in.flags() & std::ios::dec) ? 1 : 0;
- int oct=(in.flags() & std::ios::oct) ? 1 : 0;
- int count=hex+dec+oct;
-
- size_t base=autobase;
- if (count==1) {
- if (hex) base=16;
- else if (oct) base=8;
- else base=10;
- } else if (count>1) base=10;
- // else auto-base
-
- std::string s;
- if (in.peek()=='+') {
- in.ignore();
- } else if (in.peek()=='-') {
- in.ignore();
- s.push_back('-');
- }
-
- if (base==autobase) {
- if (in.peek()=='0') {
- in.ignore();
- int c=in.peek();
- if (c=='x' || c=='X') {
- in.ignore();
- base=16;
- } else base=8;
- } else base=10;
- }
-
- while (in) {
- int c=in.peek();
- if ((base==8 && (c>='0' && c<='7')) ||
- (base==10 && (c>='0' && c<='9')) ||
- (base==16 && ((c>='0' && c<='9') || (c>='a' && c<='f') ||
- (c>='A' && c<='F'))))
- {
- in.ignore();
- s.push_back(char(c));
- } else break;
- }
-
- token allow=allow_exceptions();
- try {
- integer testValue=from_string(s, base);
- n=testValue;
- } catch (std::exception&) {
- // Catch invalid strings
- in.setstate(std::ios::failbit);
- }
-
- return in;
-}
-//!@}
-
-} // namespace core
-
-namespace blockable {
-
-/*!
- Constructs a new integer object with the value of the built-in signed
- %integer passed to it.
-
- \param[in] n A number of type \c T.
- \tparam T The type of \c n.
-
- You can ignore the \c enable_if parameters, they are there only to tell
- the compiler what types it applies to.
-
- \overload
-*/
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_signed<T> >::type*)
-{
- try {
- *this=integer(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- _attach(0);
- }
-}
-
-/*!
- Constructs a new integer object with the value of the built-in unsigned
- %integer passed to it.
-
- \param[in] n A number of type \c T.
- \tparam T The type of \c n.
-
- You can ignore the \c enable_if parameters, they are there only to tell
- the compiler what types it applies to.
-
- \overload
-*/
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_unsigned<T> >::type*)
-{
- try {
- *this=integer(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- _attach(0);
- }
-}
-
-/*! \copydoc core::to
-
-\note If exceptions are blocked, returns T(0) instead of throwing.
-*/
-template <typename T>
-T to(const integer& n) {
- try {
- return to<T>(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- else return 0;
- }
-}
-
-//! \name Stream input/output functions
-//!@{
-template <typename charT, typename traits>
-inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
- traits>& out, const integer& n)
-{
- if (n.is_nan()) {
- out << detail::nan_text;
- return out;
- } else {
- return core::operator<<(out, core::integer(n));
- }
-}
-
-template <typename charT, typename traits>
-inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
- traits>& in, integer& n)
-{
- if (in.peek()=='#') {
- // Must be either #NaN# or an error
- char buffer[6];
- std::streamsize size=in.readsome(buffer, 5);
- buffer[size]=0;
- std::string str(buffer);
-
- if (str==detail::nan_text) n=integer::nan();
- else in.setstate(std::ios::failbit);
- } else {
- core::integer nn;
- core::operator>>(in, nn);
- if (in) n=nn;
- }
-
- return in;
-}
-//!@}
-
-} // namespace blockable
 
-namespace test = core;
+#ifndef BOOST_INCLUDED_XINT_HPP
+#define BOOST_INCLUDED_XINT_HPP
 
-} // namespace xint
-} // namespace boost
+#include "internals.hpp"
+#include "integer.hpp"
+#include "nothrow_integer.hpp"
+#include "random.hpp"
+#include "exceptions.hpp"
 
-#endif // BOOST_INCLUDED_XINT_H
+#endif // BOOST_INCLUDED_XINT_HPP

Deleted: sandbox/xint/boost/xint/xint_data_t.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint_data_t.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
+++ (empty file)
@@ -1,99 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- See http://www.boost.org/libs/xint for library home page.
-*/
-
-/*! \file
- \brief Internal details of an xint::integer.
-
- This file contains the declaration for the xint data structure. It should
- only be used by the library itself.
-*/
-
-#ifndef BOOST_INCLUDED_XINT_DATA_T_H
-#define BOOST_INCLUDED_XINT_DATA_T_H
-
-#if !defined(XINT_SECURE)
- #include <vector>
-#endif
-
-namespace boost {
-namespace xint {
-namespace detail {
-
-/*! \brief Holds the internal details of an xint::integer.
-
- The data for an integer is stored in a separate struct so it can be shared
- between different copies of an identical number.
-*/
-struct data_t {
- /*! \brief Holds information determining how many quick-digits to use.
-
- Smaller numbers are represented in a small array of digits that are part
- of the #data_t structure itself, so that no additional memory allocation
- is needed for them. The contents of this structure determine how many of
- them the library uses.
- */
- struct QuickDigits {
- static const size_t intbits=std::numeric_limits<unsigned int>::digits;
- static const size_t suggested=(2*intbits/bits_per_digit); //!< We want at least enough QuickDigits to hold two standard int types.
- static const size_t minimum=3; //!< The library's code is written to depend on this value, don't change it.
- static const size_t count=(suggested < minimum ? minimum : suggested);
- };
-
- size_t mLength, mAllocated;
- digit_t *digits; //!< \note The digits are stored lowest-digit-first.
- digit_t mQuickDigits[QuickDigits::count];
-
- #if !defined(XINT_SECURE)
- std::vector<digit_t> mStorage;
- #endif
-
- int mCopies;
- bool mIsNegative;
-
- public:
- data_t(digit_t initial1=0, digit_t initial2=0, digit_t initial3=0);
- data_t(data_t *c);
- data_t(boost::uintmax_t n, bool);
-
- #if defined(XINT_SECURE)
- ~data_t();
- #endif
-
- void attach() { ++mCopies; }
- bool detach() { return (--mCopies==0); }
- void alloc(size_t digits, bool copydigits=false);
- void realloc(size_t newdigits) { alloc(newdigits, true); }
- void skipLeadingZeros();
- void copy(const data_t *c, size_t extraDigits=0);
- void zero(digit_t *p, size_t count);
-
- void quickset(digit_t d1, digit_t d2=0, digit_t d3=0);
-
- void invert();
- void negate();
-
- // These primitives ignore the signs of the parameters, and their results
- // are calculated in place.
- void add(const data_t& addend);
- void subtract(const data_t& subtrahend);
-
- // These are also calculated in place, for maximum speed.
- void shift_left(size_t byBits);
- void shift_right(size_t byBits);
-};
-
-} // namespace detail
-} // namespace xint
-} // namespace boost
-
-#endif // BOOST_INCLUDED_XINT_DATA_T_H

Deleted: sandbox/xint/boost/xint/xint_monty.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint_monty.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
+++ (empty file)
@@ -1,43 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- See http://www.boost.org/libs/xint for library home page.
-*/
-
-/*! \file
- \brief Internally-used functions.
-
- This file declares the functions that use the Montgomery Reduction. They are
- used internally to speed up the xint::powmod function for odd modulii.
-*/
-
-#ifndef BOOST_INCLUDED_XINT_MONTY_H
-#define BOOST_INCLUDED_XINT_MONTY_H
-
-namespace boost {
-namespace xint {
-namespace core {
-
-//! \name Montgomery Reduction functions
-//!@{
-detail::digit_t inverse0(const integer& n);
-integer montgomeryR(const integer& n);
-integer toMontgomeryForm(const integer& n, const integer& m);
-integer fromMontgomeryForm(const integer& n, const integer& m);
-integer montgomeryMultiplyMod(const integer& x, const integer& y, const integer&
- m, detail::digit_t nPrime0);
-integer montgomeryPowerMod(const integer& x, const integer& e, const integer& m);
-//!@}
-
-} // namespace core
-} // namespace xint
-} // namespace boost
-
-#endif // BOOST_INCLUDED_XINT_MONTY_H

Deleted: sandbox/xint/boost/xint/xint_test.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint_test.hpp 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
+++ (empty file)
@@ -1,39 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- See http://www.boost.org/libs/xint for library home page.
-*/
-
-/*! \file
- \brief Declares the library's self-testing functions.
-*/
-
-#ifndef BOOST_INCLUDED_XINT_TEST_H
-#define BOOST_INCLUDED_XINT_TEST_H
-
-namespace boost {
-namespace xint {
-
-//! \name Self-Testing Functions
-//!@{
-bool testBitManipulations();
-bool testAddSubtract();
-bool testMultiply();
-bool testDivideMod();
-bool testConvert();
-bool testStreams();
-bool testMontyMultiply();
-bool testMontyPowerMod();
-//!@}
-
-} // namespace xint
-} // namespace boost
-
-#endif // BOOST_INCLUDED_XINT_TEST_H

Modified: sandbox/xint/build/Jamfile.v2
==============================================================================
--- sandbox/xint/build/Jamfile.v2 (original)
+++ sandbox/xint/build/Jamfile.v2 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -9,12 +9,27 @@
     ;
 
 SOURCES =
+ base_integer.cpp
+ data_t.cpp
+
+ nothrow_integer.cpp
+ nothrow_bit_manipulations.cpp
+ nothrow_compare.cpp
+ nothrow_convert.cpp
+ nothrow_gcd.cpp
+ nothrow_misc.cpp
+ nothrow_modular.cpp
+ nothrow_operators.cpp
+ nothrow_powers.cpp
+ nothrow_primes.cpp
+ nothrow_primitives.cpp
+ nothrow_random.cpp
+ nothrow_roots.cpp
+
     integer.cpp
     bit_manipulations.cpp
     compare.cpp
     convert.cpp
- data_t.cpp
- exception_blocker.cpp
     gcd.cpp
     misc.cpp
     modular.cpp

Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/doc/acknowledgements.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -38,9 +38,10 @@
 <li>Scott McMurray, for comments on the random number code, the Not-a-Number value, and the blockable exceptions design, and for accidentally pointing out an error in the square-root function, among other things.</li>
 <li>"Pavel" for suggesting adding the algorithmic complexity of each function to the documentation, and for understanding what I was trying to explain when no one else seemed to.</li>
 <li>Jeffrey Lee Hellrung, Jr., for advice on implementing move-aware objects, and for an invigorating discussion on the differing needs of an integer library versus a floating-point one, among other things.</li>
-<li>Peter Dimov, for suggesting a separate <code>xint::overflow_error</code> exception class.</li>
+<li>Peter Dimov, for suggesting a separate <code>overflow_error</code> exception class.</li>
 <li>"Fred," a.k.a. "Gottlob Frege", for information on infinities.</li>
-<li>Joachim Faulhaber for a discussion of intervals and interval containers.</li>
+<li>Joachim Faulhaber, for a discussion of intervals and interval containers.</li>
+<li>Domagoj Saric, for suggesting a design that would allow for both variable-length and fixed-length integers.</li>
 </ul>
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
@@ -55,7 +56,7 @@
 </ul>
 <p>If I've forgotten anyone, please let me know and I'll correct the oversight. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -29,7 +29,7 @@
 <h1>/home/chad/projects/xint/doc/dox/acknowledgements.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -28,27 +28,28 @@
 </div>
 <div class="contents">
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td class="indexvalue">The base class for the integer classes </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 the 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_1cannot__represent.html">boost::xint::cannot_represent</a></td><td class="indexvalue">Exception class </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 internal details of an xint::integer </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">boost::xint::divide_by_zero</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td class="indexvalue">The core integer class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td class="indexvalue">The blockable integer class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::invalid_base</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::invalid_modulus</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1no__strong__random.html">boost::xint::no_strong_random</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1not__a__number.html">boost::xint::not_a_number</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1overflow__error.html">boost::xint::overflow_error</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html">boost::xint::detail::data_t::QuickDigits</a></td><td class="indexvalue">Holds information determining how many quick-digits to use </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&lt; digit_count &gt;</a></td><td class="indexvalue">Holds the magnitude digits of an integer </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_1integer.html">boost::xint::integer</a></td><td class="indexvalue">The core integer class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td><td class="indexvalue"></td></tr>
+ <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_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>
+ <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="structboost_1_1xint_1_1detail_1_1token.html">boost::xint::detail::token</a></td><td class="indexvalue">An empty struct, used in <a class="el" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">xint::token</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1too__big.html">boost::xint::too_big</a></td><td class="indexvalue">Exception class </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 Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/base__integer_8cpp.html (from r61200, /sandbox/xint/doc/data__t_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/data__t_8cpp.html (original)
+++ sandbox/xint/doc/base__integer_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: data_t.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: base_integer.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -26,17 +26,17 @@
   </div>
 </div>
 <div class="contents">
-<h1>data_t.cpp File Reference</h1>
-<p>Contains the definitions for xint::detail::data_t member functions.
+<h1>base_integer.cpp File Reference</h1>
+<p>Contains the definitions for the <code>base_integer</code> member functions.
 <a href="#_details">More...</a></p>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<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>
@@ -46,11 +46,11 @@
 </p>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for xint::detail::data_t member functions. </p>
+<p>Contains the definitions for the <code>base_integer</code> member functions. </p>
 
-<p>Definition in file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</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 Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/base__integer_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/base__integer_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,312 @@
+<!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: base_integer.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>base_integer.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html">00020</a> <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"> #define XINT_DISABLE_COPY_ON_WRITE</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="namespaceboost.html">00024</a> <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><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94ba0c5d0b11588062116ebf6263f2cc">00028</a> <span class="keyword">namespace </span>{
+<a name="l00029"></a>00029 <span class="keyword">struct </span>zerodata_t: <span class="keyword">public</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>&lt;&gt; {
+<a name="l00030"></a>00030 <span class="keyword">public</span>:
+<a name="l00031"></a>00031 zerodata_t() { copies=1; length=max_length=1; *magnitude=0; }
+<a name="l00032"></a>00032 } zerodata;
+<a name="l00033"></a>00033 } <span class="comment">// namespace</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <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, <span class="keywordtype">void</span> *d):
+<a name="l00036"></a>00036 fixed_mask(mask), negative(false), data(reinterpret_cast&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a>&lt;&gt;*&gt;(d))
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 assert(mask != 0);
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a>=1;
+<a name="l00041"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">00041</a> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>=1;
+<a name="l00042"></a>00042 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a>=count;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *i = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>, *ie = i + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a>;
+<a name="l00045"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">00045</a> <span class="keywordflow">while</span> (i != ie) *i++ = 0;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">base_integer::~base_integer</a>() {
+<a name="l00049"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">00049</a> <span class="keywordflow">if</span> (fixed_mask != 0 &amp;&amp; data &amp;&amp; data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a> == 1) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">deallocate</a>(data);
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <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="l00053"></a>00053 <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[index];
+<a name="l00054"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee8727d51762352bba8ea8e3b8489f2">00054</a> }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <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="l00057"></a>00057 <span class="keywordflow">if</span> (index &gt;= data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>) <span class="keywordflow">return</span> 0;
+<a name="l00058"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">00058</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[index];
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <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#a9ee8727d51762352bba8ea8e3b8489f2">base_integer::_get_digits</a>() {
+<a name="l00062"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">00062</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <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#a9ee8727d51762352bba8ea8e3b8489f2">base_integer::_get_digits</a>()<span class="keyword"> const </span>{
+<a name="l00066"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad75a8d9bef5eb2d57cbac37cafd925eb">00066</a> <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <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="l00070"></a>00070 <span class="keywordflow">return</span> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>;
+<a name="l00071"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">00071</a> }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad75a8d9bef5eb2d57cbac37cafd925eb">base_integer::_duplicate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for the integer classes.">base_integer</a>&amp; c, <span class="keywordtype">size_t</span> extra) {
+<a name="l00074"></a>00074 negative=c.negative;
+<a name="l00075"></a>00075 data=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">duplicate</a>(data, c.data, extra);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">base_integer::_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&lt;&gt;</a> *new_data, <span class="keywordtype">bool</span> neg) {
+<a name="l00079"></a>00079 assert(fixed_mask == 0);
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span> data=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">duplicate</a>(data, new_data);
+<a name="l00083"></a>00083 <span class="preprocessor"> #else</span>
+<a name="l00084"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">00084</a> <span class="preprocessor"></span> <span class="keywordflow">if</span> (data &amp;&amp; --data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a> == 0) <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">deallocate</a>(data);
+<a name="l00085"></a>00085 data=new_data;
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (data) ++data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a>;
+<a name="l00087"></a>00087 <span class="preprocessor"> #endif</span>
+<a name="l00088"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">00088</a> <span class="preprocessor"></span> negative=neg;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">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 the integer classes.">base_integer</a>&amp; copy) {
+<a name="l00092"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">00092</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(copy.data, copy.negative);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">base_integer::_attach_0</a>() {
+<a name="l00096"></a>00096 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(&amp;zerodata);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">base_integer::_attach_1</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> n) {
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (n == 0) {
+<a name="l00101"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">00101</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(&amp;zerodata);
+<a name="l00102"></a>00102 } <span class="keywordflow">else</span> {
+<a name="l00103"></a>00103 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">allocate</a>(1));
+<a name="l00104"></a>00104 *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>=n;
+<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="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">base_integer::_attach_n</a>(boost::uintmax_t n) {
+<a name="l00109"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0980c3f09050640e8f33a9f10bcd2c38">00109</a> <span class="keyword">static</span> <span class="keywordtype">int</span> bits = std::numeric_limits&lt;boost::uintmax_t&gt;::digits;
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keywordtype">int</span> maxDigits = (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="l00111"></a>00111
+<a name="l00112"></a>00112 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">allocate</a>(maxDigits));
+<a name="l00113"></a>00113 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0980c3f09050640e8f33a9f10bcd2c38">_set_n</a>(n);
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0980c3f09050640e8f33a9f10bcd2c38">base_integer::_set_n</a>(boost::uintmax_t n) {
+<a name="l00117"></a>00117 <span class="comment">// Assumes that the proper allocation was already done</span>
+<a name="l00118"></a>00118 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a>;
+<a name="l00119"></a>00119 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *i = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>, *ie = i + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a>;
+<a name="l00120"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">00120</a> <span class="keywordflow">while</span> (n != 0 &amp;&amp; i != ie) {
+<a name="l00121"></a>00121 *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="l00122"></a>00122 n &gt;&gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
+<a name="l00123"></a>00123 }
+<a name="l00124"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">00124</a> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <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="l00128"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">00128</a> <span class="keywordflow">return</span> (!data || data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a> == 1);
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <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="l00132"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">00132</a> <span class="keywordflow">return</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> == 1 &amp;&amp; *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> == 0);
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <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="l00136"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">00136</a> <span class="keywordflow">return</span> negative;
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <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="l00140"></a>00140 negative=neg;
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <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="l00144"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">00144</a> <span class="keywordflow">if</span> (fixed_mask) data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a>-1] &amp;= fixed_mask;
+<a name="l00145"></a>00145 <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#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> - 1;
+<a name="l00146"></a>00146 <span class="keywordflow">while</span> (p != data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> &amp;&amp; *p == 0) { --data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>; --p; }
+<a name="l00147"></a>00147 <span class="keywordflow">if</span> (data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> == 1 &amp;&amp; *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> == 0) negative = <span class="keyword">false</span>;
+<a name="l00148"></a>00148
+<a name="l00149"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aea0cff03f7886f2c44747538e27ad7f1">00149</a> }
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <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="l00152"></a>00152 assert(fixed_mask == 0);
+<a name="l00153"></a>00153 data = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">reallocate</a>(data, new_digit_count);
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aea0cff03f7886f2c44747538e27ad7f1">base_integer::_shift_left</a>(<span class="keywordtype">size_t</span> byBits) {
+<a name="l00157"></a>00157 <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="l00158"></a>00158 <span class="keywordtype">size_t</span> oldLength = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 data=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">reallocate</a>(data, data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> + bytes + 1);
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00163"></a>00163 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00164"></a>00164 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s = data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> + oldLength - 1, *t = s + bytes + 1;
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 *t-- = *s &gt;&gt; (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits);
+<a name="l00167"></a>00167 <span class="keywordflow">while</span> (s &gt; data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>) {
+<a name="l00168"></a>00168 *t = (*s-- &lt;&lt; bits);
+<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 }
+<a name="l00171"></a>00171 *t = (*s &lt;&lt; bits);
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00174"></a>00174 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = data-&gt;magnitude, *te = t + bytes;
+<a name="l00175"></a>00175 <span class="keywordflow">while</span> (t != te) *t++ = 0;
+<a name="l00176"></a>00176 }
+<a name="l00177"></a>00177 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00178"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">00178</a> memmove(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> + bytes, data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) *
+<a name="l00179"></a>00179 oldLength);
+<a name="l00180"></a>00180 memset(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) * bytes);
+<a name="l00181"></a>00181 }
+<a name="l00182"></a>00182 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">base_integer::_shift_right</a>(<span class="keywordtype">size_t</span> byBits) {
+<a name="l00186"></a>00186 <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="l00187"></a>00187 bits2 = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> - bits;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keywordflow">if</span> (bytes &gt;= data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>) {
+<a name="l00190"></a>00190 <span class="comment">// Right-shift it into oblivion.</span>
+<a name="l00191"></a>00191 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> = 1;
+<a name="l00192"></a>00192 *data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> = 0;
+<a name="l00193"></a>00193 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00194"></a>00194 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00195"></a>00195 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t = data-&gt;magnitude, *s = data-&gt;magnitude + bytes,
+<a name="l00196"></a>00196 *se = data-&gt;magnitude + data-&gt;length - 1;
+<a name="l00197"></a>00197 <span class="keywordflow">while</span> (s!=se) {
+<a name="l00198"></a>00198 *t = (*s++ &gt;&gt; bits);
+<a name="l00199"></a>00199 *t++ |= (*s &lt;&lt; bits2);
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 *t = (*s &gt;&gt; bits);
+<a name="l00202"></a>00202 <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00203"></a>00203 memset(data-&gt;magnitude + data-&gt;length - bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) *
+<a name="l00204"></a>00204 bytes);
+<a name="l00205"></a>00205 data-&gt;length -= bytes;
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00208"></a>00208 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00209"></a>00209 memmove(data-&gt;magnitude, data-&gt;magnitude + bytes, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) *
+<a name="l00210"></a>00210 (data-&gt;length - bytes));
+<a name="l00211"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">00211</a> memset(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> + data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> - bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>) *
+<a name="l00212"></a>00212 bytes);
+<a name="l00213"></a>00213 data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a> -= bytes;
+<a name="l00214"></a>00214 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00215"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">00215</a> }
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">base_integer::_base_make_unique</a>() {
+<a name="l00219"></a>00219 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>()) data=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">duplicate</a>(data);
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">base_integer::_add</a>(<span class="keyword">const</span> base_integer&amp; n) {
+<a name="l00223"></a>00223 <span class="comment">//assert(mCopies==1);</span>
+<a name="l00224"></a>00224 <span class="comment">//assert(mLength &gt;= addend.mLength);</span>
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="comment">// The answer to any addition problem contains, at most, one digit more</span>
+<a name="l00227"></a>00227 <span class="comment">// than the largest addend.</span>
+<a name="l00228"></a>00228 data=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">reallocate</a>(data, data-&gt;length + 1);
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="comment">// Now add the digits, starting at the least-significant digit.</span>
+<a name="l00231"></a>00231 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> carry = 0;
+<a name="l00232"></a>00232 <span class="keywordtype">size_t</span> x = 0;
+<a name="l00233"></a>00233 <span class="keywordflow">for</span> (; x &lt; n.data-&gt;length; ++x) {
+<a name="l00234"></a>00234 <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>(data-&gt;magnitude[x]) +
+<a name="l00235"></a>00235 n.data-&gt;magnitude[x] + carry;
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (t &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) { carry = 1; t -= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>; }
+<a name="l00237"></a>00237 <span class="keywordflow">else</span> carry=0;
+<a name="l00238"></a>00238 data-&gt;magnitude[x] = <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="l00239"></a>00239 }
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="keywordflow">while</span> (carry) {
+<a name="l00242"></a>00242 <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>(data-&gt;magnitude[x]) + 1;
+<a name="l00243"></a>00243 <span class="keywordflow">if</span> (t &gt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) { carry = 1; t -= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>; }
+<a name="l00244"></a>00244 <span class="keywordflow">else</span> carry=0;
+<a name="l00245"></a><a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">00245</a> data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[x] = <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="l00246"></a>00246 ++x;
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">base_integer::_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 the integer classes.">base_integer</a>&amp; n) {
+<a name="l00253"></a>00253 <span class="comment">//assert(mCopies==1);</span>
+<a name="l00254"></a>00254 <span class="comment">//assert(mLength &gt;= subtrahend.mLength);</span>
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="comment">// For subtraction, the answer will always be less than or equal to the</span>
+<a name="l00257"></a>00257 <span class="comment">// size of the longest operand, so we&#39;ve already got enough room.</span>
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="comment">// Now subtract the digits, starting at the least-significant one.</span>
+<a name="l00260"></a>00260 <span class="keywordtype">size_t</span> x;
+<a name="l00261"></a>00261 <span class="keywordtype">int</span> borrow = 0;
+<a name="l00262"></a>00262 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> t;
+<a name="l00263"></a>00263 <span class="keywordflow">for</span> (x = 0; x &lt; n.data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a>; ++x) {
+<a name="l00264"></a>00264 t=(data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[x] + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) - n.data-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[x] -
+<a name="l00265"></a>00265 borrow;
+<a name="l00266"></a>00266 if (t &lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) borrow = 1;
+<a name="l00267"></a>00267 <span class="keywordflow">else</span> { borrow = 0; t -= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>; }
+<a name="l00268"></a>00268 data-&gt;magnitude[x]=<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="l00269"></a>00269 }
+<a name="l00270"></a>00270
+<a name="l00271"></a>00271 <span class="keywordflow">for</span> (; x &lt; data-&gt;length &amp;&amp; borrow; ++x) {
+<a name="l00272"></a>00272 t = (data-&gt;magnitude[x] + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) - borrow;
+<a name="l00273"></a>00273 <span class="keywordflow">if</span> (t &lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>) borrow=1;
+<a name="l00274"></a>00274 <span class="keywordflow">else</span> { borrow = 0; t -= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">digit_overflowbit</a>; }
+<a name="l00275"></a>00275 data-&gt;magnitude[x] = <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="l00276"></a>00276 }
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>();
+<a name="l00279"></a>00279 <span class="keywordflow">if</span> (borrow != 0) negative=!negative;
+<a name="l00280"></a>00280 }
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 } <span class="comment">// namespace detail</span>
+<a name="l00283"></a>00283 } <span class="comment">// namespace xint</span>
+<a name="l00284"></a>00284 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&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/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -36,47 +36,42 @@
 <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>The common functions 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_1core.html">boost::xint::core</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the "pure" integer type, and functions to operate on it. </p>
+<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">Bit-manipulation functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
 </div></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_1core.html#a06f4b3f75bb5e648e865f20990f8154c">boost::xint::core::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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778">boost::xint::core::setbit</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 one. <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_1core.html#abd43d348da182e32e931743d1837f849">boost::xint::core::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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#afbb649428a445bd8a6e7d9bcfab69707">boost::xint::core::lowestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the lowest bit in an integer with a value of one. <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_1_1core.html#a2a32641fadc89dc7385b2f1a0af862dc">boost::xint::core::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>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f">boost::xint::core::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>AND</code> operation. <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_1_1core.html#a04384ebf492038c4ba83af9736412c9b">boost::xint::core::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>OR</code> operation. <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_1_1core.html#a86446e5e38a977b68f041dfa4b82a385">boost::xint::core::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<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">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a">boost::xint::core::shift</a> (const integer &amp;n, int byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-shift an integer, in either direction. <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_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc">boost::xint::core::shift_left</a> (const integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left-shift an integer by a specified number of bits. <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_1_1core.html#ac456d45328b682c029af422923298253">boost::xint::core::shift_right</a> (const integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right-shift an integer by a specified number of bits. <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="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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint::setbit</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 one. <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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40">boost::xint::lowestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the lowest bit in an integer with a value of one. <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>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>AND</code> operation. <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#ab38ce0764a4b6433e11e30efa2175fec">boost::xint::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>OR</code> operation. <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#a6afd5af4550b698f6a7065f457fcb0a1">boost::xint::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<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">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint::shift</a> (const integer &amp;n, int byBits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-shift an integer, in either direction. <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#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint::shift_left</a> (const integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left-shift an integer by a specified number of bits. <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#aca7453fa9e276ebefacc9827b55f69d2">boost::xint::shift_right</a> (const integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right-shift an integer by a specified number of bits. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the bit-manipulation functions. </p>
 
 <p>Definition in file <a class="el" href="bit__manipulations_8cpp_source.html">bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -38,152 +38,144 @@
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
 <a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint_data_t.hpp&quot;</span>
-<a name="l00020"></a>00020
-<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="l00024"></a><a class="code" href="namespaceboost_1_1xint_1_1core.html">00024</a> <span class="keyword">using namespace </span>detail;
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>core {
-<a name="l00027"></a>00027
-<a name="l00036"></a>00036 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a06f4b3f75bb5e648e865f20990f8154c" 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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00037"></a>00037 <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="l00038"></a>00038 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) {
-<a name="l00039"></a>00039 <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="l00040"></a>00040 <span class="keywordflow">return</span> ((n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(index) &amp; mask) != 0);
-<a name="l00041"></a>00041 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00042"></a>00042 }
-<a name="l00043"></a>00043
-<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00052"></a>00052 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00053"></a>00053 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <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="l00056"></a>00056 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3bdd8e8ef7c5b8bc888b96725aac9dfe">realloc</a>(index+1);
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <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="l00059"></a>00059 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] |= mask;
-<a name="l00060"></a>00060 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#abd43d348da182e32e931743d1837f849" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00071"></a>00071 <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="l00072"></a>00072 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) {
-<a name="l00073"></a>00073 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00074"></a>00074 <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="l00075"></a>00075 n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] &amp;= ~mask;
-<a name="l00076"></a>00076 n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00089"></a>00089 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#afbb649428a445bd8a6e7d9bcfab69707" 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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00090"></a>00090 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9" title="Tests the sign of *this.">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00093"></a>00093 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p=ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00094"></a>00094 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordtype">size_t</span> index=(p - ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>);
-<a name="l00097"></a>00097 <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="l00098"></a>00098 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> digit=*p;
+<a name="l00019"></a>00019
+<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">using namespace </span>detail;
+<a name="l00024"></a>00024
+<a name="l00033"></a>00033 <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="l00034"></a>00034 <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="l00035"></a>00035 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
+<a name="l00036"></a>00036 <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="l00037"></a>00037 <span class="keywordflow">return</span> ((n._get_digit(index) &amp; mask) != 0);
+<a name="l00038"></a>00038 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00048"></a>00048 <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="l00049"></a>00049 n._make_unique();
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <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="l00052"></a>00052 <span class="keywordflow">if</span> (index &gt;= n._get_length()) n._realloc(index+1);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <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="l00055"></a>00055 n._get_digits()[index] |= mask;
+<a name="l00056"></a>00056 n._cleanup();
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00066"></a>00066 <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="l00067"></a>00067 <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="l00068"></a>00068 <span class="keywordflow">if</span> (index &lt; n._get_length()) {
+<a name="l00069"></a>00069 n._make_unique();
+<a name="l00070"></a>00070 <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="l00071"></a>00071 n._get_digits()[index] &amp;= ~mask;
+<a name="l00072"></a>00072 n._cleanup();
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00085"></a>00085 <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="l00086"></a>00086 <span class="keywordflow">if</span> (n.sign()==0) <span class="keywordflow">return</span> valueIfZero;
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <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="l00089"></a>00089 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keywordtype">size_t</span> index=(p - n._get_digits());
+<a name="l00092"></a>00092 <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="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> digit=*p;
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
+<a name="l00096"></a>00096 digit&gt;&gt;=1;
+<a name="l00097"></a>00097 ++r;
+<a name="l00098"></a>00098 }
 <a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
-<a name="l00101"></a>00101 digit&gt;&gt;=1;
-<a name="l00102"></a>00102 ++r;
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordflow">return</span> r;
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00117"></a>00117 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a2a32641fadc89dc7385b2f1a0af862dc" 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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9" title="Tests the sign of *this.">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
-<a name="l00119"></a>00119 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1core.html#aa3924902931d74fe0a7d2c6daf9ab028" title="Get the log2 value of an integer.">log2</a>(n)-1);
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121
-<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f" 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_1core_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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00129"></a>00129 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00130"></a>00130 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00133"></a>00133 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00134"></a>00134 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>);
+<a name="l00100"></a>00100 <span class="keywordflow">return</span> r;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00112"></a>00112 <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="l00113"></a>00113 <span class="keywordflow">if</span> (n.sign()==0) <span class="keywordflow">return</span> valueIfZero;
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(n)-1);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00123"></a>00123 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="l00124"></a>00124 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
+<a name="l00125"></a>00125 <span class="keyword">const</span> integer&amp; smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 integer r;
+<a name="l00128"></a>00128 r._realloc(smaller._get_length());
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <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+smaller._get_length(),
+<a name="l00131"></a>00131 *s2=larger._get_digits();
+<a name="l00132"></a>00132 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=r._get_digits();
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
 <a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>, *s2=larger-&gt;digits;
-<a name="l00137"></a>00137 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> r;
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144
-<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a04384ebf492038c4ba83af9736412c9b" 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_1core_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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00152"></a>00152 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00153"></a>00153 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00156"></a>00156 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00157"></a>00157 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00160"></a>00160 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00161"></a>00161 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ | *s2++;
-<a name="l00164"></a>00164 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00167"></a>00167 <span class="keywordflow">return</span> r;
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169
-<a name="l00177"></a>00177 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a86446e5e38a977b68f041dfa4b82a385" 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_1core_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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00178"></a>00178 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00179"></a>00179 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00182"></a>00182 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00183"></a>00183 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
+<a name="l00136"></a>00136 r._cleanup();
+<a name="l00137"></a>00137 <span class="keywordflow">return</span> r;
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139
+<a name="l00146"></a>00146 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="l00147"></a>00147 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
+<a name="l00148"></a>00148 <span class="keyword">const</span> integer&amp; smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 integer r;
+<a name="l00151"></a>00151 r._realloc(larger._get_length());
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <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+smaller._get_length();
+<a name="l00154"></a>00154 <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+larger._get_length();
+<a name="l00155"></a>00155 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=r._get_digits();
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ | *s2++;
+<a name="l00158"></a>00158 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 r._cleanup();
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> r;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00171"></a>00171 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="l00172"></a>00172 <span class="keywordtype">bool</span> n1larger=(n1._get_length() &gt; n2._get_length());
+<a name="l00173"></a>00173 <span class="keyword">const</span> integer&amp; smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 integer r;
+<a name="l00176"></a>00176 r._realloc(larger._get_length());
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <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+smaller._get_length();
+<a name="l00179"></a>00179 <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+larger._get_length();
+<a name="l00180"></a>00180 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=r._get_digits();
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
+<a name="l00183"></a>00183 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
 <a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00186"></a>00186 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00187"></a>00187 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
+<a name="l00185"></a>00185 r._cleanup();
+<a name="l00186"></a>00186 <span class="keywordflow">return</span> r;
+<a name="l00187"></a>00187 }
 <a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
-<a name="l00190"></a>00190 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00193"></a>00193 <span class="keywordflow">return</span> r;
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00205"></a>00205 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc" title="Left-shift an integer by a specified number of bits.">shift_left</a>(n, byBits);
-<a name="l00206"></a>00206 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, -byBits);
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208
-<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc" 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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
-<a name="l00220"></a>00220 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00221"></a>00221 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aaa43f067c7f1a7772276cf9a57ab653c">shift_left</a>(byBits);
-<a name="l00222"></a>00222 <span class="keywordflow">return</span> nn;
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
-<a name="l00232"></a>00232 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253" 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_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00233"></a>00233 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
-<a name="l00236"></a>00236 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00237"></a>00237 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ad28012e618ecab56b69ceac7585d1741">shift_right</a>(byBits);
-<a name="l00238"></a>00238 <span class="keywordflow">return</span> nn;
-<a name="l00239"></a>00239 }
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 } <span class="comment">// namespace core</span>
-<a name="l00242"></a>00242 } <span class="comment">// namespace xint</span>
-<a name="l00243"></a>00243 } <span class="comment">// namespace boost</span>
+<a name="l00197"></a>00197 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="l00198"></a>00198 <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="l00199"></a>00199 <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="l00200"></a>00200 }
+<a name="l00201"></a>00201
+<a name="l00209"></a>00209 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="l00210"></a>00210 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 integer nn(n);
+<a name="l00213"></a>00213 nn._make_unique();
+<a name="l00214"></a>00214 nn._shift_left(byBits);
+<a name="l00215"></a>00215 <span class="keywordflow">return</span> nn;
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217
+<a name="l00225"></a>00225 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="l00226"></a>00226 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 integer nn(n);
+<a name="l00229"></a>00229 nn._make_unique();
+<a name="l00230"></a>00230 nn._shift_right(byBits);
+<a name="l00231"></a>00231 <span class="keywordflow">return</span> nn;
+<a name="l00232"></a>00232 }
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 } <span class="comment">// namespace xint</span>
+<a name="l00235"></a>00235 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/blockable__bit__manipulations_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_bit_manipulations.cpp File Reference</h1>
-<p>Contains the bit-manipulation functions for blockable integers.
+<p>Contains the bit-manipulation functions for <code>nothrow_integers</code>.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,36 +36,31 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">Bit-manipulation functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
 </div></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_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">boost::xint::blockable::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">boost::xint::blockable::setbit</a> (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_1blockable.html#a1731eab251e1601451c3a7c6635c2194">boost::xint::blockable::clearbit</a> (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_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">boost::xint::blockable::lowestbit</a> (const 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_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">boost::xint::blockable::highestbit</a> (const integer &amp;n, size_t valueIfZero)</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_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">boost::xint::blockable::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">boost::xint::blockable::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">boost::xint::blockable::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">boost::xint::blockable::shift</a> (const integer &amp;n, int byBits)</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_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">boost::xint::blockable::shift_left</a> (const integer &amp;n, size_t byBits)</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_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">boost::xint::blockable::shift_right</a> (const integer &amp;n, size_t byBits)</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">boost::xint::getbit</a> (const nothrow_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.html#ac76235b31dcadded8193443b78743948">boost::xint::setbit</a> (nothrow_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.html#a6b82b4f0911b258e82b9c11b4413c8bf">boost::xint::clearbit</a> (nothrow_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.html#a09477129544d4bdb08ddd63644683f5c">boost::xint::lowestbit</a> (const nothrow_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.html#ab817edabf5a6709c753dc6c07186ea75">boost::xint::highestbit</a> (const nothrow_integer &amp;n, size_t valueIfZero)</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#abd4c2a471ad1e603ce5ef032071dd2ef">boost::xint::bitwise_and</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#a1221efa42739f309024e1715adc58917">boost::xint::bitwise_or</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#ab4996f013ac222b53bea0b46ff95e1df">boost::xint::bitwise_xor</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#ad62ca08dc3d7600eee872dc5a95c338c">boost::xint::shift</a> (const nothrow_integer &amp;n, int byBits)</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#a4bc41e443d230352f7c099e60f4056f4">boost::xint::shift_left</a> (const nothrow_integer &amp;n, size_t byBits)</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#a295196e5fa8931578d27468cb5154f07">boost::xint::shift_right</a> (const nothrow_integer &amp;n, size_t byBits)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the bit-manipulation functions for blockable integers. </p>
+<p>Contains the bit-manipulation functions for <code>nothrow_integers</code>. </p>
 
 <p>Definition in file <a class="el" href="blockable__bit__manipulations_8cpp_source.html">blockable_bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,110 +41,108 @@
 <a name="l00019"></a>00019
 <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><a class="code" href="namespaceboost_1_1xint_1_1blockable.html">00022</a> <span class="keyword">namespace </span>blockable {
-<a name="l00023"></a>00023
-<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&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_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">getbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), bit);
-<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036
-<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
-<a name="l00040"></a>00040 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a> nn(n);
-<a name="l00041"></a>00041 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(nn, bit);
-<a name="l00042"></a>00042 n=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(nn);
-<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1731eab251e1601451c3a7c6635c2194">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00050"></a>00050 <span class="keywordflow">try</span> {
-<a name="l00051"></a>00051 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a> nn(n);
-<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1731eab251e1601451c3a7c6635c2194">clearbit</a>(nn, bit);
-<a name="l00053"></a>00053 n=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(nn);
-<a name="l00054"></a>00054 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00055"></a>00055 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00063"></a>00063 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00064"></a>00064 <span class="keywordflow">try</span> {
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">lowestbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), valueIfZero);
-<a name="l00066"></a>00066 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00068"></a>00068 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00076"></a>00076 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00077"></a>00077 <span class="keywordflow">try</span> {
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">highestbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), valueIfZero);
-<a name="l00079"></a>00079 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00080"></a>00080 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00081"></a>00081 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084
-<a name="l00086"></a>00086 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
-<a name="l00087"></a>00087 <span class="keywordflow">try</span> {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
-<a name="l00089"></a>00089 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00090"></a>00090 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00091"></a>00091 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00092"></a>00092 }
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094
-<a name="l00096"></a>00096 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
-<a name="l00097"></a>00097 <span class="keywordflow">try</span> {
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
-<a name="l00099"></a>00099 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00100"></a>00100 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00101"></a>00101 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00106"></a>00106 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
-<a name="l00107"></a>00107 <span class="keywordflow">try</span> {
-<a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
-<a name="l00109"></a>00109 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00110"></a>00110 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00111"></a>00111 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00116"></a>00116 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00117"></a>00117 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(n, byBits);
-<a name="l00118"></a>00118 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(n, -byBits);
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120
-<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00123"></a>00123 <span class="keywordflow">try</span> {
-<a name="l00124"></a>00124 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), byBits));
-<a name="l00125"></a>00125 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00126"></a>00126 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00127"></a>00127 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00133"></a>00133 <span class="keywordflow">try</span> {
-<a name="l00134"></a>00134 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), byBits));
-<a name="l00135"></a>00135 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00136"></a>00136 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00137"></a>00137 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 } <span class="comment">// namespace blockable</span>
-<a name="l00142"></a>00142 } <span class="comment">// namespace xint</span>
-<a name="l00143"></a>00143 } <span class="comment">// namespace boost</span>
+<a name="l00022"></a>00022
+<a name="l00027"></a>00027 <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="l00028"></a>00028 <span class="keywordflow">try</span> {
+<a name="l00029"></a>00029 <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.">getbit</a>(xint::integer(n), bit);
+<a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00031"></a>00031 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00032"></a>00032 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 }
+<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 xint::integer nn(n);
+<a name="l00040"></a>00040 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(nn, bit);
+<a name="l00041"></a>00041 n=nothrow_integer(nn);
+<a name="l00042"></a>00042 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00048"></a>00048 <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="l00049"></a>00049 <span class="keywordflow">try</span> {
+<a name="l00050"></a>00050 xint::integer nn(n);
+<a name="l00051"></a>00051 <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(nn, bit);
+<a name="l00052"></a>00052 n=nothrow_integer(nn);
+<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00062"></a>00062 <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="l00063"></a>00063 <span class="keywordflow">try</span> {
+<a name="l00064"></a>00064 <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.">lowestbit</a>(xint::integer(n), valueIfZero);
+<a name="l00065"></a>00065 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00066"></a>00066 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00067"></a>00067 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00075"></a>00075 <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="l00076"></a>00076 <span class="keywordflow">try</span> {
+<a name="l00077"></a>00077 <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.">highestbit</a>(xint::integer(n), valueIfZero);
+<a name="l00078"></a>00078 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00079"></a>00079 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00080"></a>00080 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00085"></a>00085 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="l00086"></a>00086 <span class="keywordflow">try</span> {
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(xint::integer(n1), xint::integer(n2)));
+<a name="l00088"></a>00088 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00090"></a>00090 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00095"></a>00095 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="l00096"></a>00096 <span class="keywordflow">try</span> {
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(xint::integer(n1), xint::integer(n2)));
+<a name="l00098"></a>00098 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00099"></a>00099 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00100"></a>00100 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103
+<a name="l00105"></a>00105 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="l00106"></a>00106 <span class="keywordflow">try</span> {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(xint::integer(n1), xint::integer(n2)));
+<a name="l00108"></a>00108 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00110"></a>00110 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00115"></a>00115 nothrow_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> nothrow_integer&amp; n, <span class="keywordtype">int</span> byBits) {
+<a name="l00116"></a>00116 <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="l00117"></a>00117 <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="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00121"></a>00121 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="l00122"></a>00122 <span class="keywordflow">try</span> {
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> 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>(xint::integer(n), byBits));
+<a name="l00124"></a>00124 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00126"></a>00126 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00131"></a>00131 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="l00132"></a>00132 <span class="keywordflow">try</span> {
+<a name="l00133"></a>00133 <span class="keywordflow">return</span> 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>(xint::integer(n), byBits));
+<a name="l00134"></a>00134 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00135"></a>00135 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00136"></a>00136 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 } <span class="comment">// namespace xint</span>
+<a name="l00141"></a>00141 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__compare_8cpp.html (original)
+++ sandbox/xint/doc/blockable__compare_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_compare.cpp File Reference</h1>
-<p>Contains the the compare function and comparison operators for blockable integers.
+<p>Contains the the compare function and comparison operators for nothrow_integers.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,36 +36,31 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">boost::xint::blockable::compare</a> (const integer &amp;b1, const integer &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#a2745c08384519957ceaf26c3e421d485">boost::xint::compare</a> (const nothrow_integer &amp;b1, const nothrow_integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">boost::xint::blockable::operator!</a> (const integer &amp;num1)</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_1blockable.html#a30d62778d26a857f5b3ff6a56ebe6e6a">boost::xint::blockable::operator==</a> (const integer &amp;num1, const 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_1blockable.html#a51e46fd4112a2fcff16e11d977f92e63">boost::xint::blockable::operator!=</a> (const integer &amp;num1, const 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_1blockable.html#a03cbe2419b28b7d7bc86afe71158108e">boost::xint::blockable::operator&lt;</a> (const integer &amp;num1, const 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_1blockable.html#ab3826f291c742f4b980d34cec652173c">boost::xint::blockable::operator&gt;</a> (const integer &amp;num1, const 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_1blockable.html#a2f826b80a2baf62af87d3335a260ee0d">boost::xint::blockable::operator&lt;=</a> (const integer &amp;num1, const 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_1blockable.html#afab66769cd37ad94e89559e55746a55b">boost::xint::blockable::operator&gt;=</a> (const integer &amp;num1, const 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#ad1ffadda01cf8e0b230178a9325d96dc">boost::xint::operator!</a> (const nothrow_integer &amp;num1)</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">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#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#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#a2e213ecd798c6bc331460dff13b35173">boost::xint::operator&gt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the the compare function and comparison operators for blockable integers. </p>
+<p>Contains the the compare function and comparison operators for nothrow_integers. </p>
 
 <p>Definition in file <a class="el" href="blockable__compare_8cpp_source.html">blockable_compare.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__compare_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__compare_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,56 +41,54 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00029"></a>00029 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">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="l00030"></a>00030 <span class="keywordflow">try</span> {
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">compare</a>(core::integer(b1), core::integer(b2));
-<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">namespace </span>{
-<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00040"></a>00040 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2, <span class="keyword">const</span> T&amp; t) {
-<a name="l00041"></a>00041 <span class="keywordflow">try</span> {
-<a name="l00042"></a>00042 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">compare</a>(core::integer(num1), core::integer(num2)), 0);
-<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00045"></a>00045 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048 } <span class="comment">// namespace</span>
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">operator!</a>(<span class="keyword">const</span> integer &amp;num1) {
-<a name="l00051"></a>00051 <span class="keywordflow">try</span> {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">operator!</a>(core::integer(num1));
-<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00055"></a>00055 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30d62778d26a857f5b3ff6a56ebe6e6a">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
-<a name="l00061"></a>00061 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a51e46fd4112a2fcff16e11d977f92e63">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00062"></a>00062 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
-<a name="l00063"></a>00063 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a03cbe2419b28b7d7bc86afe71158108e">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
-<a name="l00065"></a>00065 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab3826f291c742f4b980d34cec652173c">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00066"></a>00066 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
-<a name="l00067"></a>00067 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2f826b80a2baf62af87d3335a260ee0d">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
-<a name="l00069"></a>00069 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afab66769cd37ad94e89559e55746a55b">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 } <span class="comment">// namespace blockable</span>
-<a name="l00073"></a>00073 } <span class="comment">// namespace xint</span>
-<a name="l00074"></a>00074 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00028"></a>00028 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">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">try</span> {
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">compare</a>(xint::integer(b1), xint::integer(b2));
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">namespace </span>{
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00039"></a>00039 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2, <span class="keyword">const</span> T&amp; t) {
+<a name="l00040"></a>00040 <span class="keywordflow">try</span> {
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">compare</a>(xint::integer(num1), xint::integer(num2)), 0);
+<a name="l00042"></a>00042 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00044"></a>00044 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 } <span class="comment">// namespace</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ad1ffadda01cf8e0b230178a9325d96dc">operator!</a>(<span class="keyword">const</span> nothrow_integer &amp;num1) {
+<a name="l00050"></a>00050 <span class="keywordflow">try</span> {
+<a name="l00051"></a>00051 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad1ffadda01cf8e0b230178a9325d96dc">operator!</a>(xint::integer(num1));
+<a name="l00052"></a>00052 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00053"></a>00053 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00054"></a>00054 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">operator==</a>(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2) {
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
+<a name="l00060"></a>00060 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a43189615a1bfb4904c969efe846cefc6">operator!=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00061"></a>00061 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
+<a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">operator&lt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00063"></a>00063 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
+<a name="l00064"></a>00064 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">operator&gt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
+<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">operator&lt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
+<a name="l00068"></a>00068 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">operator&gt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 } <span class="comment">// namespace xint</span>
+<a name="l00072"></a>00072 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__convert_8cpp.html (original)
+++ sandbox/xint/doc/blockable__convert_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_convert.cpp File Reference</h1>
-<p>Contains the conversion functions for blockable integers.
+<p>Contains the conversion functions for nothrow_integers.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,30 +36,25 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">Conversion functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
 </div></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_1blockable.html#a242028d310c35165b714a20e068a4e61">boost::xint::blockable::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">boost::xint::blockable::from_string</a> (const std::string &amp;str, size_t base)</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_1_1blockable.html#a2d59a617f6374118f622d37df7e8593b">boost::xint::blockable::from_binary</a> (const std::string &amp;str)</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_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">boost::xint::blockable::to_binary</a> (const integer &amp;n)</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">boost::xint::to_string</a> (const nothrow_integer &amp;n, size_t base, bool uppercase)</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#ae40f9a912e985490d7291d56e597a464">boost::xint::nothrow_from_string</a> (const std::string &amp;str, size_t base)</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#ab6045aa842481c5175a2d2afbe018ff1">boost::xint::nothrow_from_binary</a> (const std::string &amp;str)</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#a0602566ae765c905b4ff84275334a112">boost::xint::to_binary</a> (const nothrow_integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the conversion functions for blockable integers. </p>
-<p>Note that the xint::blockable::to&lt;T&gt; function is not here, because it's a template function and must be defined in a header file. </p>
+<p>Contains the conversion functions for nothrow_integers. </p>
+<p>Note that the xint::to&lt;T&gt; function is not here, because it's a template function and must be defined in a header file. </p>
 
 <p>Definition in file <a class="el" href="blockable__convert_8cpp_source.html">blockable_convert.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__convert_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__convert_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__convert_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,52 +41,50 @@
 <a name="l00022"></a>00022
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>blockable {
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="keyword">using namespace </span>detail;
-<a name="l00028"></a>00028
-<a name="l00034"></a>00034 std::string <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a242028d310c35165b714a20e068a4e61">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="l00035"></a>00035 <span class="keywordflow">try</span> {
-<a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a242028d310c35165b714a20e068a4e61">to_string</a>(core::integer(n), base, uppercase);
-<a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (exception&amp;) {
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042
-<a name="l00044"></a>00044 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00045"></a>00045 <span class="keywordflow">try</span> {
-<a name="l00046"></a>00046 <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_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00047"></a>00047 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#adaa2e5c8f2ff92faee861a68bc7e4cca" title="Converts a string into an integer.">core::from_string</a>(str, base));
-<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00049"></a>00049 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00050"></a>00050 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053
-<a name="l00055"></a>00055 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2d59a617f6374118f622d37df7e8593b">from_binary</a>(<span class="keyword">const</span> std::string&amp; str) {
-<a name="l00056"></a>00056 <span class="keywordflow">try</span> {
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#a626c8b1f3bd3f6b03a18412c8419bad8" title="Converts a binary representation of a number into an integer.">core::from_binary</a>(str));
-<a name="l00058"></a>00058 } <span class="keywordflow">catch</span> (exception&amp;) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00060"></a>00060 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063
-<a name="l00065"></a>00065 std::string <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">to_binary</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00066"></a>00066 <span class="keywordflow">try</span> {
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">to_binary</a>(core::integer(n));
-<a name="l00068"></a>00068 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00069"></a>00069 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00070"></a>00070 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 } <span class="comment">// namespace blockable</span>
-<a name="l00075"></a>00075 } <span class="comment">// namespace xint</span>
-<a name="l00076"></a>00076 } <span class="comment">// namespace boost</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">using namespace </span>detail;
+<a name="l00027"></a>00027
+<a name="l00036"></a>00036 std::string <a class="code" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">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="l00037"></a>00037 <span class="keywordflow">try</span> {
+<a name="l00038"></a>00038 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">to_string</a>(xint::integer(n), base, uppercase);
+<a name="l00039"></a>00039 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00040"></a>00040 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00041"></a>00041 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00049"></a>00049 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="l00050"></a>00050 <span class="keywordflow">try</span> {
+<a name="l00051"></a>00051 <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="l00052"></a>00052 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">xint::from_string</a>(str, base));
+<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00055"></a>00055 <span class="keywordflow">else</span> <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#ab6045aa842481c5175a2d2afbe018ff1">nothrow_from_binary</a>(<span class="keyword">const</span> std::string&amp; str) {
+<a name="l00061"></a>00061 <span class="keywordflow">try</span> {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e" title="Converts a binary representation of a number into an integer.">xint::from_binary</a>(str));
+<a name="l00063"></a>00063 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00065"></a>00065 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00070"></a>00070 std::string <a class="code" href="namespaceboost_1_1xint.html#a0602566ae765c905b4ff84275334a112">to_binary</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
+<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.html#a0602566ae765c905b4ff84275334a112">to_binary</a>(xint::integer(n));
+<a name="l00073"></a>00073 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00075"></a>00075 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace xint</span>
+<a name="l00080"></a>00080 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__gcd_8cpp.html (original)
+++ sandbox/xint/doc/blockable__gcd_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_gcd.cpp File Reference</h1>
-<p>Greatest Common Denominator and Least Common Multple for blockable integers.
+<p>Greatest Common Denominator and Least Common Multple for <code>nothrow_integers</code>.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,32 +36,22 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">boost::xint::blockable::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">boost::xint::blockable::lcm</a> (const integer &amp;num1, const integer &amp;num2)</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_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">boost::xint::blockable::invmod</a> (const integer &amp;n, const integer &amp;m)</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#a3ae2716e04bebbb74be08845db7132e2">boost::xint::gcd</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#a8782636245af4772735f6e7510a7d3da">boost::xint::lcm</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Greatest Common Denominator and Least Common Multple for blockable integers. </p>
-<p>Also holds the definition for invmod, since it uses the GCD algorithm. </p>
+<p>Greatest Common Denominator and Least Common Multple for <code>nothrow_integers</code>. </p>
 
 <p>Definition in file <a class="el" href="blockable__gcd_8cpp_source.html">blockable_gcd.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__gcd_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__gcd_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -37,44 +37,33 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>blockable {
-<a name="l00026"></a>00026
-<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">gcd</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">gcd</a>(core::integer(num1), core::integer(num2)));
-<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036
-<a name="l00038"></a>00038 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">lcm</a>(core::integer(num1), core::integer(num2)));
-<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00043"></a>00043 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00052"></a>00052 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00053"></a>00053 <span class="keywordflow">try</span> {
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">invmod</a>(core::integer(n), core::integer(m)));
-<a name="l00055"></a>00055 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00056"></a>00056 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 } <span class="comment">// namespace blockable</span>
-<a name="l00062"></a>00062 } <span class="comment">// namespace xint</span>
-<a name="l00063"></a>00063 } <span class="comment">// namespace boost</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023
+<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a3ae2716e04bebbb74be08845db7132e2">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 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a3ae2716e04bebbb74be08845db7132e2">gcd</a>(xint::integer(num1), xint::integer(num2)));
+<a name="l00028"></a>00028 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00030"></a>00030 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00035"></a>00035 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a8782636245af4772735f6e7510a7d3da">lcm</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00036"></a>00036 <span class="keywordflow">try</span> {
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a8782636245af4772735f6e7510a7d3da">lcm</a>(xint::integer(num1), xint::integer(num2)));
+<a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00039"></a>00039 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00040"></a>00040 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 } <span class="comment">// namespace xint</span>
+<a name="l00045"></a>00045 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__integer_8cpp.html (original)
+++ sandbox/xint/doc/blockable__integer_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_integer.cpp File Reference</h1>
-<p>Contains the definitions for the xint::blockable::integer member functions.
+<p>Contains the definitions for the xint::nothrow_integer member functions.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,21 +36,16 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the xint::blockable::integer member functions. </p>
+<p>Contains the definitions for the xint::nothrow_integer member functions. </p>
 
 <p>Definition in file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__integer_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__integer_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -38,212 +38,181 @@
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
 <a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../boost/xint/xint_data_t.hpp&quot;</span>
-<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
-<a name="l00025"></a>00025 <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="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>blockable {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023
+<a name="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="l00030"></a>00030 <span class="comment">// The blockable integer class</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">namespace </span>{
-<a name="l00033"></a>00033 std::auto_ptr&lt;integer&gt; cZero, cOne, cNaN;
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00037"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">00037</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>() {
-<a name="l00038"></a>00038 _init();
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040
-<a name="l00042"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">00042</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) {
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (!b.<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) _init(b);
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045
-<a name="l00056"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0ff286ad0a69d6f885cf51905331b065">00056</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>&amp; b) {
-<a name="l00057"></a>00057 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(b);
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059
-<a name="l00061"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2c02cafe2e7f1262a8b45356b32a21ab">00061</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00062"></a>00062 <span class="keywordflow">try</span> {
-<a name="l00063"></a>00063 _init(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">from_string</a>(str, base));
-<a name="l00064"></a>00064 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00065"></a>00065 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068
-<a name="l00073"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">00073</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00075"></a>00075 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
-<a name="l00076"></a>00076 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0) &amp; 0x01)==1);
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080
-<a name="l00085"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">00085</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
-<a name="l00088"></a>00088 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0) &amp; 0x01)==0);
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00097"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">00097</a> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">integer::sign</a>()<span class="keyword"> const </span>{
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00099"></a>00099 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
-<a name="l00100"></a>00100 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()==1 &amp;&amp; <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0)==0) <span class="keywordflow">return</span> 0;
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;mIsNegative ? -1 : 1);
-<a name="l00104"></a>00104 }
-<a name="l00105"></a>00105
-<a name="l00110"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">00110</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00111"></a>00111 <span class="keywordflow">try</span> {
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">core::integer</a>(*this).hex_digits();
-<a name="l00113"></a>00113 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00114"></a>00114 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00115"></a>00115 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118
-<a name="l00125"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">00125</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">integer::is_nan</a>()<span class="keyword"> const </span>{
-<a name="l00126"></a>00126 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()==0);
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128
-<a name="l00129"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">00129</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; addend) {
-<a name="l00130"></a>00130 <span class="keywordflow">try</span> {
-<a name="l00131"></a>00131 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator+=(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(addend)));
-<a name="l00132"></a>00132 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00133"></a>00133 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00134"></a>00134 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138
-<a name="l00139"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">00139</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; subtrahend) {
-<a name="l00140"></a>00140 <span class="keywordflow">try</span> {
-<a name="l00141"></a>00141 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator-=(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(subtrahend)));
-<a name="l00142"></a>00142 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00143"></a>00143 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00144"></a>00144 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148
-<a name="l00149"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">00149</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> &amp;c) {
-<a name="l00150"></a>00150 <span class="keywordflow">try</span> {
-<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(c);
-<a name="l00152"></a>00152 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00153"></a>00153 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00154"></a>00154 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(0);
-<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_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">00159</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">00160</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00161"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">00161</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00162"></a>00162
-<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">00163</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">00164</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00165"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a50d2872735d7b1dfcba66d4940cdc658">00165</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00166"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0e35cc2d6c37f4e14c4d21d998179121">00166</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> s; }
+<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__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</a>();
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00039"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">00039</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="l00040"></a>00040 <span class="keywordflow">try</span> {
+<a name="l00041"></a>00041 <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#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(b);
+<a name="l00042"></a>00042 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00057"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">00057</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="l00058"></a>00058 <span class="keywordflow">try</span> {
+<a name="l00059"></a>00059 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(b);
+<a name="l00060"></a>00060 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00061"></a>00061 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00066"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">00066</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="l00067"></a>00067 <span class="keywordflow">try</span> {
+<a name="l00068"></a>00068 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(<a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">from_string</a>(str, base));
+<a name="l00069"></a>00069 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00070"></a>00070 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00078"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">00078</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="l00079"></a>00079 <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>()) {
+<a name="l00080"></a>00080 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">exception::not_a_number</a>();
+<a name="l00081"></a>00081 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 <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="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00090"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">00090</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="l00091"></a>00091 <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>()) {
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">exception::not_a_number</a>();
+<a name="l00093"></a>00093 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095 <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="l00096"></a>00096 }
+<a name="l00097"></a>00097
+<a name="l00102"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">00102</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="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>()) {
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">exception::not_a_number</a>();
+<a name="l00105"></a>00105 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 <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="l00108"></a>00108 <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="l00109"></a>00109 }
+<a name="l00110"></a>00110
+<a name="l00115"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">00115</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="l00116"></a>00116 <span class="keywordflow">try</span> {
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">xint::nothrow_integer</a>(*this).hex_digits();
+<a name="l00118"></a>00118 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00119"></a>00119 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00120"></a>00120 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123
+<a name="l00130"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">00130</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="l00131"></a>00131 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>();
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">00134</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="l00135"></a>00135 <span class="keywordflow">try</span> {
+<a name="l00136"></a>00136 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(*this).operator+=(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(addend)));
+<a name="l00137"></a>00137 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00138"></a>00138 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00139"></a>00139 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">00144</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="l00145"></a>00145 <span class="keywordflow">try</span> {
+<a name="l00146"></a>00146 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(*this).operator-=(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(subtrahend)));
+<a name="l00147"></a>00147 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00148"></a>00148 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00149"></a>00149 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153
+<a name="l00154"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a8d0c877ae53afb89d00c021f10dce67a">00154</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#a8d0c877ae53afb89d00c021f10dce67a">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;c) {
+<a name="l00155"></a>00155 <span class="keywordflow">try</span> {
+<a name="l00156"></a>00156 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(c);
+<a name="l00157"></a>00157 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00158"></a>00158 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(0);
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">00164</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(*<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_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">00165</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(*<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_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">00166</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00167"></a>00167
-<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">00168</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">00169</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">00170</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">00171</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">00172</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00173"></a>00173
-<a name="l00174"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">00174</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>) {
-<a name="l00175"></a>00175 <span class="keywordflow">try</span> {
-<a name="l00176"></a>00176 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator&lt;&lt;=(shift));
-<a name="l00177"></a>00177 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00179"></a>00179 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00180"></a>00180 }
-<a name="l00181"></a>00181 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00182"></a>00182 }
-<a name="l00183"></a>00183
-<a name="l00184"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">00184</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>) {
-<a name="l00185"></a>00185 <span class="keywordflow">try</span> {
-<a name="l00186"></a>00186 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator&gt;&gt;=(shift));
-<a name="l00187"></a>00187 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00188"></a>00188 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00189"></a>00189 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00192"></a>00192 }
-<a name="l00193"></a>00193
-<a name="l00194"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">00194</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">integer::zero</a>() {
-<a name="l00195"></a>00195 <span class="keywordflow">if</span> (cZero.get()==0) cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">core::integer::zero</a>()));
-<a name="l00196"></a>00196 <span class="keywordflow">return</span> *cZero;
+<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">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#ab202967205b2a52063c2ac19647239bc">nothrow_integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">00169</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>() { *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">00170</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>; *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">00171</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>; *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00172"></a>00172
+<a name="l00173"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">00173</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="l00174"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">00174</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="l00175"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">00175</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00176"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">00176</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(*<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_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">00177</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) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00178"></a>00178
+<a name="l00179"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">00179</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="l00180"></a>00180 <span class="keywordflow">try</span> {
+<a name="l00181"></a>00181 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(*this).operator&lt;&lt;=(shift));
+<a name="l00182"></a>00182 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00183"></a>00183 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00184"></a>00184 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">00189</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="l00190"></a>00190 <span class="keywordflow">try</span> {
+<a name="l00191"></a>00191 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(*this).operator&gt;&gt;=(shift));
+<a name="l00192"></a>00192 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00193"></a>00193 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00194"></a>00194 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00197"></a>00197 }
 <a name="l00198"></a>00198
-<a name="l00199"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">00199</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">integer::one</a>() {
-<a name="l00200"></a>00200 <span class="keywordflow">if</span> (cOne.get()==0) cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#afcf74b546cda2690025c75325365a0fe">core::integer::one</a>()));
-<a name="l00201"></a>00201 <span class="keywordflow">return</span> *cOne;
+<a name="l00199"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">00199</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="l00200"></a>00200 <span class="keywordflow">if</span> (cZero.get()==0) cZero.reset(<span class="keyword">new</span> <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#a2b3241400b0691fa5bd612358b48ccdd">xint::nothrow_integer::zero</a>()));
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> *cZero;
 <a name="l00202"></a>00202 }
 <a name="l00203"></a>00203
-<a name="l00204"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">00204</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>() {
-<a name="l00205"></a>00205 <span class="keywordflow">if</span> (cNaN.get()==0) {
-<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> *n=<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>();
-<a name="l00207"></a>00207 n-&gt;<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(0);
-<a name="l00208"></a>00208 cNaN.reset(n);
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210 <span class="keywordflow">return</span> *cNaN;
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212
-<a name="l00213"></a>00213 <span class="keywordtype">void</span> integer::_init(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> init) {
-<a name="l00214"></a>00214 <span class="keywordflow">try</span> {
-<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a>(init));
-<a name="l00216"></a>00216 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00218"></a>00218 }
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="keywordtype">void</span> integer::_init(<span class="keyword">const</span> integer &amp;c) {
-<a name="l00222"></a>00222 <span class="keywordflow">try</span> {
-<a name="l00223"></a>00223 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(c);
-<a name="l00224"></a>00224 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00225"></a>00225 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00226"></a>00226 }
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="keywordtype">void</span> integer::_init(boost::uintmax_t n) {
-<a name="l00230"></a>00230 <span class="keywordflow">try</span> {
-<a name="l00231"></a>00231 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> detail::data_t(n));
-<a name="l00232"></a>00232 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00233"></a>00233 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 }
-<a name="l00236"></a>00236
-<a name="l00237"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">00237</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">integer::_make_unique</a>() {
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>()) {
-<a name="l00239"></a>00239 <span class="keywordflow">try</span> {
-<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()));
-<a name="l00241"></a>00241 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00242"></a>00242 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00243"></a>00243 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(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
-<a name="l00248"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">00248</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">integer::_set_negative</a>(<span class="keywordtype">bool</span> negative) {
-<a name="l00249"></a>00249 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;mIsNegative != negative) {
-<a name="l00250"></a>00250 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a>();
-<a name="l00251"></a>00251 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *p=<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
-<a name="l00252"></a>00252 p-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#abd6528e0c4f7674b4421cc7f1e2aba09">mIsNegative</a>=negative;
-<a name="l00253"></a>00253 p-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255 }
-<a name="l00256"></a>00256
-<a name="l00257"></a>00257 } <span class="comment">// namespace blockable</span>
-<a name="l00258"></a>00258 } <span class="comment">// namespace xint</span>
-<a name="l00259"></a>00259 } <span class="comment">// namespace boost</span>
+<a name="l00204"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">00204</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="l00205"></a>00205 <span class="keywordflow">if</span> (cOne.get()==0) cOne.reset(<span class="keyword">new</span> <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#a1487576980f14a9011d76dab4d7bcb50">xint::nothrow_integer::one</a>()));
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> *cOne;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00209"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">00209</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="l00210"></a>00210 <span class="keywordflow">if</span> (cNaN.get()==0) {
+<a name="l00211"></a>00211 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> *n=<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>();
+<a name="l00212"></a>00212 n-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(0);
+<a name="l00213"></a>00213 cNaN.reset(n);
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 <span class="keywordflow">return</span> *cNaN;
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217
+<a name="l00218"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">00218</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">nothrow_integer::_make_unique</a>() {
+<a name="l00219"></a>00219 <span class="keywordflow">try</span> {
+<a name="l00220"></a>00220 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_make_unique</a>();
+<a name="l00221"></a>00221 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00222"></a>00222 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00223"></a>00223 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(0); <span class="comment">// Turns it into a Not-a-Number.</span>
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 } <span class="comment">// namespace xint</span>
+<a name="l00228"></a>00228 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__misc_8cpp.html (original)
+++ sandbox/xint/doc/blockable__misc_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_misc.cpp File Reference</h1>
-<p>Functions for blockable integers that don't fall into any other category.
+<p>Functions for nothrow_integers that don't fall into any other category.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,26 +36,21 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">boost::xint::blockable::log2</a> (const integer &amp;n)</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#a206fbae1c02ec96cb274aae1ad611da7">boost::xint::log2</a> (const nothrow_integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Functions for blockable integers that don't fall into any other category. </p>
+<p>Functions for nothrow_integers that don't fall into any other category. </p>
 
 <p>Definition in file <a class="el" href="blockable__misc_8cpp_source.html">blockable_misc.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__misc_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__misc_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,22 +41,20 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00029"></a>00029 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">log2</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">log2</a>(core::integer(n));
-<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 } <span class="comment">// namespace blockable</span>
-<a name="l00039"></a>00039 } <span class="comment">// namespace xint</span>
-<a name="l00040"></a>00040 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00028"></a>00028 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">log2</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
+<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.html#a206fbae1c02ec96cb274aae1ad611da7">log2</a>(xint::integer(n));
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 } <span class="comment">// namespace xint</span>
+<a name="l00038"></a>00038 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__modular_8cpp.html (original)
+++ sandbox/xint/doc/blockable__modular_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_modular.cpp File Reference</h1>
-<p>Contains the definitions for the basic modular math functions for blockable integers.
+<p>Contains the definitions for the basic modular math functions for nothrow_integers.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,30 +36,25 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">boost::xint::blockable::mod</a> (const integer &amp;n, const integer &amp;m)</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_1_1blockable.html#a455f9442a9d20ee8e5be198c8279d99c">boost::xint::blockable::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</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_1_1blockable.html#aba0c3ada68c395cf941b4c0fbc574343">boost::xint::blockable::sqrmod</a> (const integer &amp;n, const integer &amp;m)</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_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">boost::xint::blockable::powmod</a> (const integer &amp;n, const integer &amp;e, const integer &amp;m, bool noMontgomery)</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#af91fe435810928b98d6e2b36ea4c3b53">boost::xint::mod</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;m)</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#a3deaa6f8a44d454129bb06691a6035c7">boost::xint::mulmod</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;by, const nothrow_integer &amp;m)</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#ae64aa02c6217ea9f53f25d4f44ddddd1">boost::xint::sqrmod</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;m)</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#aa0d4bbcf5391accad798da207180894e">boost::xint::powmod</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;e, const nothrow_integer &amp;m, bool noMontgomery)</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#a02c28345b397cb1508bad8d2bd36ca53">boost::xint::invmod</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;m)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the basic modular math functions for blockable integers. </p>
-<p>The xint::invmod function, which logically would be here, is actually in <a class="el" href="gcd_8cpp.html" title="Greatest Common Denominator and Least Common Multple.">gcd.cpp</a> to share the gcd_core function. </p>
+<p>Contains the definitions for the basic modular math functions for nothrow_integers. </p>
 
 <p>Definition in file <a class="el" href="blockable__modular_8cpp_source.html">blockable_modular.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__modular_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__modular_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -37,57 +37,64 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="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>blockable {
-<a name="l00027"></a>00027
-<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(core::integer(n), core::integer(m)));
-<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00034"></a>00034 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00039"></a>00039 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a455f9442a9d20ee8e5be198c8279d99c">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="l00040"></a>00040 <span class="keywordflow">try</span> {
-<a name="l00041"></a>00041 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(core::integer(n) * core::integer(by),
-<a name="l00042"></a>00042 core::integer(m)));
-<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048
-<a name="l00050"></a>00050 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aba0c3ada68c395cf941b4c0fbc574343">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00051"></a>00051 <span class="keywordflow">try</span> {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(core::integer(n)), core::integer(m)));
-<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00060"></a>00060 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">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="l00061"></a>00061 noMontgomery)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 <span class="keywordflow">try</span> {
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">powmod</a>(core::integer(n), core::integer(e),
-<a name="l00065"></a>00065 core::integer(m), noMontgomery));
-<a name="l00066"></a>00066 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 } <span class="comment">// namespace blockable</span>
-<a name="l00073"></a>00073 } <span class="comment">// namespace xint</span>
-<a name="l00074"></a>00074 } <span class="comment">// namespace boost</span>
+<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">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 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a>(xint::integer(n), xint::integer(m)));
+<a name="l00028"></a>00028 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00035"></a>00035 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a3deaa6f8a44d454129bb06691a6035c7">mulmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; by, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<a name="l00036"></a>00036 <span class="keywordflow">try</span> {
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a>(xint::integer(n) * xint::integer(by),
+<a name="l00038"></a>00038 xint::integer(m)));
+<a name="l00039"></a>00039 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00040"></a>00040 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00046"></a>00046 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae64aa02c6217ea9f53f25d4f44ddddd1">sqrmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<a name="l00047"></a>00047 <span class="keywordflow">try</span> {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(xint::integer(n)), xint::integer(m)));
+<a name="l00049"></a>00049 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00050"></a>00050 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00051"></a>00051 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00056"></a>00056 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">powmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; e, <span class="keyword">const</span> nothrow_integer&amp; m, <span class="keywordtype">bool</span>
+<a name="l00057"></a>00057 noMontgomery)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">try</span> {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">powmod</a>(xint::integer(n), xint::integer(e),
+<a name="l00061"></a>00061 xint::integer(m), noMontgomery));
+<a name="l00062"></a>00062 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00063"></a>00063 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<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="l00073"></a>00073 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">invmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<a name="l00074"></a>00074 <span class="keywordflow">try</span> {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">invmod</a>(xint::integer(n), xint::integer(m)));
+<a name="l00076"></a>00076 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00078"></a>00078 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</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 Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__operators_8cpp.html (original)
+++ sandbox/xint/doc/blockable__operators_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_operators.cpp File Reference</h1>
-<p>Contains the definitions for the basic math operators for blockable integers.
+<p>Contains the definitions for the basic math operators for nothrow_integers.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,35 +36,30 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">boost::xint::blockable::operator+</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">boost::xint::blockable::operator-</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a43c166834c838c500713c571ff49ae7c">boost::xint::blockable::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#adde448bbc07e4a347dc78c74fcc8ddbf">boost::xint::blockable::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aa5b674570d38ee92b7ed20aec2eedbeb">boost::xint::blockable::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a45485a6d3b99c83332836a100e3159e0">boost::xint::blockable::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a13908294b14450d3a12181f8f245baea">boost::xint::blockable::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aab0835691ea26d99726423b8456c8dce">boost::xint::blockable::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac5d01d4cfdb9adfc4d466811477b4927">boost::xint::blockable::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aabec559201c8efd77965ee8b6f07a4ca">boost::xint::blockable::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const nothrow_integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">boost::xint::operator+</a> (const nothrow_integer &amp;a)</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#afbf48bed2400e2eec3fd9544420357f3">boost::xint::operator-</a> (const nothrow_integer &amp;a)</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#a69d186688f404f1608663142da86158c">boost::xint::operator+</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#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint::operator-</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#aadeb3206628bdfd3112db2d80fff7c92">boost::xint::operator*</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#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">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint::operator%</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#a97db617d1b8d73ca35c8ef41ec7e9a31">boost::xint::operator&amp;</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint::operator|</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the basic math operators for blockable integers. </p>
+<p>Contains the definitions for the basic math operators for nothrow_integers. </p>
 
 <p>Definition in file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__operators_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__operators_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,24 +41,22 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">const</span> integer&amp; <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">operator+</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> a; }
-<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">operator-</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(a); }
-<a name="l00027"></a>00027 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">operator+</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(num1, num2); }
-<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">operator-</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(num1, num2); }
-<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa5b674570d38ee92b7ed20aec2eedbeb">operator*</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(num1, num2); }
-<a name="l00030"></a>00030 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a45485a6d3b99c83332836a100e3159e0">operator/</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(num1, num2); }
-<a name="l00031"></a>00031 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a13908294b14450d3a12181f8f245baea">operator%</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(num1, num2); }
-<a name="l00032"></a>00032 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aab0835691ea26d99726423b8456c8dce">operator&amp;</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(n1, n2); }
-<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac5d01d4cfdb9adfc4d466811477b4927">operator|</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(n1, n2); }
-<a name="l00034"></a>00034 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aabec559201c8efd77965ee8b6f07a4ca">operator^</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(n1, n2); }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 } <span class="comment">// namespace blockable</span>
-<a name="l00037"></a>00037 } <span class="comment">// namespace xint</span>
-<a name="l00038"></a>00038 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">const</span> nothrow_integer&amp; <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> nothrow_integer&amp; a) { <span class="keywordflow">return</span> a; }
+<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> nothrow_integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(a); }
+<a name="l00026"></a>00026 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(num1, num2); }
+<a name="l00027"></a>00027 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(num1, num2); }
+<a name="l00028"></a>00028 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(num1, num2); }
+<a name="l00029"></a>00029 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(num1, num2); }
+<a name="l00030"></a>00030 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a>(num1, num2); }
+<a name="l00031"></a>00031 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(n1, n2); }
+<a name="l00032"></a>00032 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(n1, n2); }
+<a name="l00033"></a>00033 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(n1, n2); }
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 } <span class="comment">// namespace xint</span>
+<a name="l00036"></a>00036 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__powers_8cpp.html (original)
+++ sandbox/xint/doc/blockable__powers_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_powers.cpp File Reference</h1>
-<p>Contains the definitions for blockable integer functions related to powers of a number.
+<p>Contains the definitions for nothrow_integer functions related to powers of a number.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,29 +36,24 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#a2f16c8a722f5a89748b154dc530ecff5">boost::xint::blockable::pow2</a> (size_t e)</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_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">boost::xint::blockable::sqr</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">boost::xint::blockable::pow</a> (const integer &amp;n, const integer &amp;e)</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_1_1blockable.html#a48bbd62060daaf179abb8664de24c0c4">boost::xint::blockable::factorial</a> (size_t n)</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#a7dd5b57bcf282d01f39cddf425418287">boost::xint::nothrow_pow2</a> (size_t e)</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#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint::sqr</a> (const nothrow_integer &amp;n)</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#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint::pow</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;e)</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#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint::nothrow_factorial</a> (size_t n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for blockable integer functions related to powers of a number. </p>
+<p>Contains the definitions for nothrow_integer functions related to powers of a number. </p>
 
 <p>Definition in file <a class="el" href="blockable__powers_8cpp_source.html">blockable_powers.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__powers_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__powers_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__powers_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,46 +41,44 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2f16c8a722f5a89748b154dc530ecff5">pow2</a>(<span class="keywordtype">size_t</span> e) {
-<a name="l00027"></a>00027 integer r;
-<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(r, e);
-<a name="l00029"></a>00029 <span class="keywordflow">return</span> r;
-<a name="l00030"></a>00030 }
-<a name="l00031"></a>00031
-<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00034"></a>00034 <span class="keywordflow">try</span> {
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(core::integer(n)));
-<a name="l00036"></a>00036 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00038"></a>00038 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041
-<a name="l00043"></a>00043 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">pow</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e) {
-<a name="l00044"></a>00044 <span class="keywordflow">try</span> {
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">pow</a>(core::integer(n), core::integer(e)));
-<a name="l00046"></a>00046 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00048"></a>00048 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00053"></a>00053 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a48bbd62060daaf179abb8664de24c0c4">factorial</a>(<span class="keywordtype">size_t</span> n) {
-<a name="l00054"></a>00054 <span class="keywordflow">try</span> {
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#ab82432c3d99638bb2f56304cf44a405a" title="Calculate the value of n! ">core::factorial</a>(n));
-<a name="l00056"></a>00056 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00057"></a>00057 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00058"></a>00058 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 } <span class="comment">// namespace blockable</span>
-<a name="l00063"></a>00063 } <span class="comment">// namespace xint</span>
-<a name="l00064"></a>00064 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a>(<span class="keywordtype">size_t</span> e) {
+<a name="l00026"></a>00026 nothrow_integer r;
+<a name="l00027"></a>00027 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(r, e);
+<a name="l00028"></a>00028 <span class="keywordflow">return</span> r;
+<a name="l00029"></a>00029 }
+<a name="l00030"></a>00030
+<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 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(xint::integer(n)));
+<a name="l00035"></a>00035 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00037"></a>00037 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00042"></a>00042 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="l00043"></a>00043 <span class="keywordflow">try</span> {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(xint::integer(n), xint::integer(e)));
+<a name="l00045"></a>00045 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00046"></a>00046 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00047"></a>00047 <span class="keywordflow">else</span> <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 }
+<a name="l00050"></a>00050
+<a name="l00052"></a>00052 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n) {
+<a name="l00053"></a>00053 <span class="keywordflow">try</span> {
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">xint::factorial</a>(n));
+<a name="l00055"></a>00055 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00056"></a>00056 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 } <span class="comment">// namespace xint</span>
+<a name="l00062"></a>00062 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__primes_8cpp.html (original)
+++ sandbox/xint/doc/blockable__primes_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_primes.cpp File Reference</h1>
-<p>Contains the definitions for functions related to prime numbers for blockable integers.
+<p>Contains the definitions for functions related to prime numbers for <code>nothrow_integers</code>.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,27 +36,22 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">boost::xint::blockable::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a3db40c31f1d6659d21986bfc96b7a13c">boost::xint::blockable::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint::is_prime</a> (const nothrow_integer &amp;n, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint::nothrow_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for functions related to prime numbers for blockable integers. </p>
+<p>Contains the definitions for functions related to prime numbers for <code>nothrow_integers</code>. </p>
 
 <p>Definition in file <a class="el" href="blockable__primes_8cpp_source.html">blockable_primes.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__primes_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__primes_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__primes_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,31 +41,29 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00029"></a>00029 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">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="l00030"></a>00030 <span class="keywordflow">try</span> {
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">is_prime</a>(core::integer(n), callback);
-<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1;
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00039"></a>00039 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3db40c31f1d6659d21986bfc96b7a13c">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="l00040"></a>00040 <span class="keywordflow">try</span> {
-<a name="l00041"></a>00041 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#a5f117503768fded4de58ded6d0c5513e" title="Generate a randomly-generated prime number of a particular bit-size.">core::random_prime</a>(size_in_bits, callback));
-<a name="l00042"></a>00042 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00044"></a>00044 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 } <span class="comment">// namespace blockable</span>
-<a name="l00049"></a>00049 } <span class="comment">// namespace xint</span>
-<a name="l00050"></a>00050 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00028"></a>00028 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<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.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(xint::integer(n), callback);
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1;
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00038"></a>00038 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a>(size_in_bits, callback));
+<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00043"></a>00043 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace xint</span>
+<a name="l00048"></a>00048 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__primitives_8cpp.html (original)
+++ sandbox/xint/doc/blockable__primitives_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_primitives.cpp File Reference</h1>
-<p>Contains the definitions for math primitives for blockable integers.
+<p>Contains the definitions for math primitives for <code>nothrow_integers</code>.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,32 +36,28 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">boost::xint::blockable::abs</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">boost::xint::blockable::negate</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">boost::xint::blockable::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">boost::xint::blockable::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">boost::xint::blockable::multiply</a> (const integer &amp;n, const integer &amp;by)</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_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">boost::xint::blockable::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; integer, integer &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">boost::xint::blockable::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</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#a0e114c276fc9affcc068dd5f0fbd9ff9">boost::xint::abs</a> (const nothrow_integer &amp;n)</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#aedc1654de47ce6d6635e5339b236f94d">boost::xint::negate</a> (const nothrow_integer &amp;n)</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#a7b7903cb879b60d0d5e3403b3c6a1cdd">boost::xint::add</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#a385b3869d8dcceab2ffb68ff33c95062">boost::xint::subtract</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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#af844548a421cfc751133081b334dbe4b">boost::xint::multiply</a> (const nothrow_integer &amp;n, const nothrow_integer &amp;by)</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#a5b884361c54aa64a1974879cb3464c9a">boost::xint::divide</a> (const nothrow_integer &amp;dividend, const nothrow_integer &amp;divisor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; nothrow_integer, <br class="typebreak"/>
+nothrow_integer &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">boost::xint::divide_r</a> (const nothrow_integer &amp;d1, const nothrow_integer &amp;d2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for math primitives for blockable integers. </p>
+<p>Contains the definitions for math primitives for <code>nothrow_integers</code>. </p>
 
 <p>Definition in file <a class="el" href="blockable__primitives_8cpp_source.html">blockable_primitives.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__primitives_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__primitives_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,71 +41,69 @@
 <a name="l00019"></a>00019
 <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 <span class="keyword">namespace </span>blockable {
-<a name="l00023"></a>00023
-<a name="l00025"></a>00025 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">abs</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00026"></a>00026 <span class="keywordflow">try</span> {
-<a name="l00027"></a>00027 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">abs</a>(core::integer(n)));
-<a name="l00028"></a>00028 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00029"></a>00029 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00035"></a>00035 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00036"></a>00036 <span class="keywordflow">try</span> {
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(core::integer(n)));
-<a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00039"></a>00039 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042 }
-<a name="l00043"></a>00043
-<a name="l00045"></a>00045 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00046"></a>00046 <span class="keywordflow">try</span> {
-<a name="l00047"></a>00047 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(core::integer(n1), core::integer(n2)));
-<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00049"></a>00049 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00050"></a>00050 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053
-<a name="l00055"></a>00055 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00056"></a>00056 <span class="keywordflow">try</span> {
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(core::integer(n1), core::integer(n2)));
-<a name="l00058"></a>00058 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063
-<a name="l00065"></a>00065 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
-<a name="l00066"></a>00066 <span class="keywordflow">try</span> {
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(core::integer(n), core::integer(by)));
-<a name="l00068"></a>00068 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00069"></a>00069 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00075"></a>00075 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(dividend, divisor).first;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078
-<a name="l00084"></a>00084 std::pair&lt;integer, integer&gt; <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(<span class="keyword">const</span> integer&amp; d1, <span class="keyword">const</span> integer&amp; d2) {
-<a name="l00085"></a>00085 <span class="keywordflow">try</span> {
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(core::integer(d1), core::integer(d2));
-<a name="l00087"></a>00087 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00088"></a>00088 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00089"></a>00089 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>(), <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>());
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 } <span class="comment">// namespace blockable</span>
-<a name="l00094"></a>00094 } <span class="comment">// namespace xint</span>
-<a name="l00095"></a>00095 } <span class="comment">// namespace boost</span>
+<a name="l00022"></a>00022
+<a name="l00024"></a>00024 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
+<a name="l00025"></a>00025 <span class="keywordflow">try</span> {
+<a name="l00026"></a>00026 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(xint::integer(n)));
+<a name="l00027"></a>00027 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00028"></a>00028 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00030"></a>00030 }
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032
+<a name="l00034"></a>00034 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
+<a name="l00035"></a>00035 <span class="keywordflow">try</span> {
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(xint::integer(n)));
+<a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00038"></a>00038 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00039"></a>00039 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042
+<a name="l00044"></a>00044 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="l00045"></a>00045 <span class="keywordflow">try</span> {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(xint::integer(n1), xint::integer(n2)));
+<a name="l00047"></a>00047 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<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>();
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00054"></a>00054 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="l00055"></a>00055 <span class="keywordflow">try</span> {
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(xint::integer(n1), xint::integer(n2)));
+<a name="l00057"></a>00057 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00058"></a>00058 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00064"></a>00064 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="l00065"></a>00065 <span class="keywordflow">try</span> {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(xint::integer(n), xint::integer(by)));
+<a name="l00067"></a>00067 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00068"></a>00068 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00074"></a>00074 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> nothrow_integer&amp; dividend, <span class="keyword">const</span> nothrow_integer&amp; divisor) {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(dividend, divisor).first;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00083"></a>00083 std::pair&lt;nothrow_integer, nothrow_integer&gt; <a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(<span class="keyword">const</span> nothrow_integer&amp; d1, <span class="keyword">const</span> nothrow_integer&amp; d2) {
+<a name="l00084"></a>00084 <span class="keywordflow">try</span> {
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(xint::integer(d1), xint::integer(d2));
+<a name="l00086"></a>00086 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00087"></a>00087 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>(), <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>());
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 } <span class="comment">// namespace xint</span>
+<a name="l00093"></a>00093 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__random_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__random_8cpp.html (original)
+++ sandbox/xint/doc/blockable__random_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_random.cpp File Reference</h1>
-<p>Contains the definitions for the random number functions for blockable integers.
+<p>Contains the definitions for the random number functions for nothrow_integers.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,26 +36,21 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a8d6e418a9b7172091f434b7657a02908">boost::xint::blockable::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the random number functions for blockable integers. </p>
+<p>Contains the definitions for the random number functions for nothrow_integers. </p>
 
 <p>Definition in file <a class="el" href="blockable__random_8cpp_source.html">blockable_random.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__random_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__random_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,25 +41,23 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8d6e418a9b7172091f434b7657a02908">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="l00027"></a>00027 can_be_negative)
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#ace96723bc59d89473ab9c750330d4451" title="Generates a random integer with specific attributes.">core::random_by_size</a>(bits, high_bit_on, low_bit_on,
-<a name="l00031"></a>00031 can_be_negative));
-<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00034"></a>00034 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 } <span class="comment">// namespace blockable</span>
-<a name="l00039"></a>00039 } <span class="comment">// namespace xint</span>
-<a name="l00040"></a>00040 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span>
+<a name="l00026"></a>00026 low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keywordflow">try</span> {
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">xint::random_by_size</a>(bits, high_bit_on,
+<a name="l00030"></a>00030 low_bit_on, can_be_negative));
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 } <span class="comment">// namespace xint</span>
+<a name="l00038"></a>00038 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__roots_8cpp.html (original)
+++ sandbox/xint/doc/blockable__roots_8cpp.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,7 +27,7 @@
 </div>
 <div class="contents">
 <h1>blockable_roots.cpp File Reference</h1>
-<p>Contains the definitions for blockable integer functions related to roots of a number.
+<p>Contains the definitions for nothrow_integer functions related to roots of a number.
 <a href="#_details">More...</a></p>
 
 <p>Go to the source code of this file.</p>
@@ -36,26 +36,21 @@
 <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>The common functions 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_1blockable.html">boost::xint::blockable</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<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">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_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">boost::xint::blockable::sqrt</a> (const integer &amp;n)</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#a0825d8d9d4644df8d9b6922f5b0d7064">boost::xint::sqrt</a> (const nothrow_integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for blockable integer functions related to roots of a number. </p>
+<p>Contains the definitions for nothrow_integer functions related to roots of a number. </p>
 
 <p>Definition in file <a class="el" href="blockable__roots_8cpp_source.html">blockable_roots.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/blockable__roots_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__roots_8cpp_source.html (original)
+++ sandbox/xint/doc/blockable__roots_8cpp_source.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -41,22 +41,20 @@
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
-<a name="l00024"></a>00024
-<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00027"></a>00027 <span class="keywordflow">try</span> {
-<a name="l00028"></a>00028 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">sqrt</a>(core::integer(n)));
-<a name="l00029"></a>00029 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00030"></a>00030 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 } <span class="comment">// namespace blockable</span>
-<a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
-<a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
+<a name="l00023"></a>00023
+<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 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(xint::integer(n)));
+<a name="l00028"></a>00028 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 } <span class="comment">// namespace xint</span>
+<a name="l00035"></a>00035 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:53:01 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1blockable_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -28,16 +28,31 @@
 </div>
 <div class="contents">
 <h1>boost::xint::blockable::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <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#acb7343f98a534a07da2dc86d6e8bee0a">_attach</a>(detail::data_t *new_data, 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> [protected]</code></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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</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#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a>(digit_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_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><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#ad75a8d9bef5eb2d57cbac37cafd925eb">_duplicate</a>(const base_integer &amp;copy, size_t extra)</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#a359e782a4a4c3e386957bc9cc03f8bea">_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#a0c199a74bd0fee53de75f6ea80b4056c">_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#afd35edbad147f88c369bc4d0bda0b9ca">_get_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#a38654bb63b923be7f992e7812812b608">_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#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#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, protected]</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_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">_set_negative</a>(bool negative)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::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#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#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#aea0cff03f7886f2c44747538e27ad7f1">_shift_left</a>(size_t byBits)</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#a8236c349f72d154823d592123d94f218">_shift_right</a>(size_t byBits)</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#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> [inline, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
@@ -67,11 +82,11 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">sign</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa5be24d1eeb5b0b58f966e174cda1928">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></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 Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:19 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1blockable_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -29,7 +29,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::blockable::integer Class Reference</h1><!-- doxytag: class="boost::xint::blockable::integer" --><!-- doxytag: inherits="boost::xint::core::base_integer" -->
+<h1>boost::xint::blockable::integer Class Reference</h1><!-- doxytag: class="boost::xint::blockable::integer" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
 <p>The blockable integer class.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
@@ -38,7 +38,7 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1blockable_1_1integer.png" usemap="#boost::xint::blockable::integer_map" alt=""/>
   <map id="boost::xint::blockable::integer_map" name="boost::xint::blockable::integer_map">
-<area href="classboost_1_1xint_1_1core_1_1base__integer.html" alt="boost::xint::core::base_integer" shape="rect" coords="0,0,178,24"/>
+<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>
@@ -84,14 +84,13 @@
 </div></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_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">odd</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">even</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">sign</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa5be24d1eeb5b0b58f966e174cda1928">sign</a> (bool signed_zero=false) 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_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">is_nan</a> () const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests <code>*this</code> for Not-a-Number. <br/></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_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">hex_digits</a> () const </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>These functions allow access to the internals of the integer. They are intended for internal use only. </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_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">_set_negative</a> (bool negative)</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_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a> ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Preconstructed integers</div></td></tr>
@@ -107,7 +106,7 @@
 <p>There are only a few member functions; most of the functionality is implemented using standalone functions.</p>
 <p>Functions that start with an underscore (such as <code>_make_unique</code>) are intended for internal use only. They may change arbitrarily in future versions. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00387">387</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00400">400</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a9f1ddc3bb2f495ebad9dc666c51ed046"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a9f1ddc3bb2f495ebad9dc666c51ed046" args="()" -->
 <div class="memitem">
@@ -183,7 +182,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="blockable__integer_8cpp_source.html#l00056">56</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00060">60</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -220,16 +219,16 @@
 </dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__base.html" title="Exception class.">xint::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__digit.html" title="Exception class.">xint::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">exception::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">exception::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This will convert a string representation of a number into an integer. See the description of the xint::from_string function for details on its behavior.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This will convert a string representation of a number into an integer. See the description of the <a class="el" href="namespaceboost_1_1xint_1_1core.html#adaa2e5c8f2ff92faee861a68bc7e4cca">from_string</a> function for details on its behavior.</dd></dl>
 <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="blockable__integer_8cpp_source.html#l00061">61</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00069">69</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -281,7 +280,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="xint_8hpp_source.html#l00969">969</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00973">973</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -333,7 +332,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="xint_8hpp_source.html#l00993">993</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00997">997</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -353,27 +352,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00237">237</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7ebbf3b74b5c3307f550efa29180b7f6"></a><!-- doxytag: member="boost::xint::blockable::integer::_set_negative" ref="a7ebbf3b74b5c3307f550efa29180b7f6" args="(bool negative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::blockable::integer::_set_negative </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>negative</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00248">248</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00221">221</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -395,7 +374,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00085">85</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00093">93</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -417,7 +396,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00110">110</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00118">118</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -440,7 +419,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="blockable__integer_8cpp_source.html#l00125">125</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00133">133</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -459,7 +438,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00204">204</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00212">212</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -481,7 +460,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00073">73</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00081">81</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -500,7 +479,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00199">199</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00207">207</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -520,7 +499,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00161">161</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -540,7 +519,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00170">170</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -560,7 +539,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00159">159</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -581,7 +560,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00165">165</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -601,7 +580,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -621,7 +600,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00129">129</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00137">137</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -642,7 +621,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -662,7 +641,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -682,7 +661,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00139">139</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00147">147</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -702,7 +681,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -722,7 +701,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00176">176</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -742,7 +721,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -762,7 +741,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00149">149</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00157">157</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -782,7 +761,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -802,7 +781,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -822,7 +801,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -842,29 +821,36 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00179">179</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="addba2da8dc24e5e137dc759b5ec3c211"></a><!-- doxytag: member="boost::xint::blockable::integer::sign" ref="addba2da8dc24e5e137dc759b5ec3c211" args="() const " -->
+<a class="anchor" id="aa5be24d1eeb5b0b58f966e174cda1928"></a><!-- doxytag: member="boost::xint::blockable::integer::sign" ref="aa5be24d1eeb5b0b58f966e174cda1928" args="(bool signed_zero=false) const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">int boost::xint::blockable::integer::sign </td>
           <td>(</td>
- <td class="paramname"></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>signed_zero</em> = <code>false</code></td>
           <td>&nbsp;)&nbsp;</td>
           <td> const</td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Tests the sign of <code>*this</code>. <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>Tests the sign of <code>*this</code>. <dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>signed_zero</em>&nbsp;</td><td>If <code>false</code> (the default value), returns zero if <code>*this</code> is zero. If <code>true</code>, returns 1 or -1 on a zero <code>*this</code> as well. Primarily used to identify a <a class="el" href="zero.html">negative zero</a>.</td></tr>
+ </table>
+ </dd>
+</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>
 <dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00097">97</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -883,7 +869,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00194">194</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00202">202</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -892,7 +878,7 @@
 <li><a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:19 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1blockable_1_1integer.png
==============================================================================
Binary files. No diff available.

Modified: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -28,17 +28,30 @@
 </div>
 <div class="contents">
 <h1>boost::xint::core::base_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa39add70fb520dfe351ca25ac4a50279">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a30d2be94a5d9bb9bb3d6171de546c05e">_attach</a>(detail::data_t *new_data, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a8b9bce898acddcf8e3ec6b8625d57a0f">_base_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a1a784d80cc34a4d4d3191f780b3cfff1">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9151e31e4dbb0ca8b0ded670d7d71a5b">_copy</a>(const base_integer &amp;copy, size_t extra)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ad16080c4ce4693ed49c051408a225f44">_get_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4a22086e857b186bbbe8a6e7b752ffa0">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a2fd6385e9d6953acbc0763720aafaac4">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4fc848087aa061549e9388495f14d4d4">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4a68ca6093ef45331d4f13c03a4af555">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a074070a5f6ccd250493acb53adc2e5d3">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa54c0899c6219b8fbc027b1e3b4d58c6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a2d3cc0c651416f681b0d9474e75e62ca">_shift_left</a>(size_t byBits)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ae357701f90c4930ffa9035a4a9f1733b">_shift_right</a>(size_t byBits)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac1dfaadf6302901f765b449cb8f1805a">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Apr 13 00:48:56 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1core_1_1base__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -52,13 +52,26 @@
 <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"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</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_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a> (size_t index) 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_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_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_1core_1_1base__integer.html#ad16080c4ce4693ed49c051408a225f44">_get_digits</a> ()</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_1core_1_1base__integer.html#a4a22086e857b186bbbe8a6e7b752ffa0">_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_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_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_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_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_1core_1_1base__integer.html#a4a68ca6093ef45331d4f13c03a4af555">_is_zero</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_1core_1_1base__integer.html#a2fd6385e9d6953acbc0763720aafaac4">_get_negative</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_1core_1_1base__integer.html#aa54c0899c6219b8fbc027b1e3b4d58c6">_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_1core_1_1base__integer.html#a1a784d80cc34a4d4d3191f780b3cfff1">_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_1core_1_1base__integer.html#a074070a5f6ccd250493acb53adc2e5d3">_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_1core_1_1base__integer.html#a9151e31e4dbb0ca8b0ded670d7d71a5b">_copy</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;copy, size_t extra)</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_1core_1_1base__integer.html#a2d3cc0c651416f681b0d9474e75e62ca">_shift_left</a> (size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ae357701f90c4930ffa9035a4a9f1733b">_shift_right</a> (size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa39add70fb520dfe351ca25ac4a50279">_add</a> (const <a class="el" href="classboost_1_1xint_1_1core_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_1core_1_1base__integer.html#ac1dfaadf6302901f765b449cb8f1805a">_subtract</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;n)</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_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *new_data)</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_1core_1_1base__integer.html#a4fc848087aa061549e9388495f14d4d4">_is_nan</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_1core_1_1base__integer.html#a8b9bce898acddcf8e3ec6b8625d57a0f">_base_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_1core_1_1base__integer.html#a30d2be94a5d9bb9bb3d6171de546c05e">_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *new_data, bool neg=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_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;copy)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -105,6 +118,26 @@
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa39add70fb520dfe351ca25ac4a50279"></a><!-- doxytag: member="boost::xint::core::base_integer::_add" ref="aa39add70fb520dfe351ca25ac4a50279" args="(const base_integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_add </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_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">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00125">125</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a80fd494f4fe59cb29f1f305b1f092e45"></a><!-- doxytag: member="boost::xint::core::base_integer::_attach" ref="a80fd494f4fe59cb29f1f305b1f092e45" args="(const base_integer &amp;copy)" -->
 <div class="memitem">
 <div class="memproto">
@@ -121,11 +154,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00070">70</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#l00085">85</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a662d8cca23ec10683e5a4884e9ade5d4"></a><!-- doxytag: member="boost::xint::core::base_integer::_attach" ref="a662d8cca23ec10683e5a4884e9ade5d4" args="(detail::data_t *new_data)" -->
+<a class="anchor" id="a30d2be94a5d9bb9bb3d6171de546c05e"></a><!-- doxytag: member="boost::xint::core::base_integer::_attach" ref="a30d2be94a5d9bb9bb3d6171de546c05e" args="(detail::data_t *new_data, bool neg=false)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -133,7 +166,35 @@
           <td class="memname">void boost::xint::core::base_integer::_attach </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="paramname"> <em>new_data</em></td>
+ <td class="paramname"> <em>new_data</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> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a8b9bce898acddcf8e3ec6b8625d57a0f"></a><!-- doxytag: member="boost::xint::core::base_integer::_base_make_unique" ref="a8b9bce898acddcf8e3ec6b8625d57a0f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_base_make_unique </td>
+ <td>(</td>
+ <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [protected]</code></td>
         </tr>
@@ -141,26 +202,55 @@
 </div>
 <div class="memdoc">
 
-<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>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00121">121</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a28bd6c6ce95b271d6f75d82041515df2"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_data" ref="a28bd6c6ce95b271d6f75d82041515df2" args="() const " -->
+<a class="anchor" id="a1a784d80cc34a4d4d3191f780b3cfff1"></a><!-- doxytag: member="boost::xint::core::base_integer::_cleanup" ref="a1a784d80cc34a4d4d3191f780b3cfff1" args="()" -->
 <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">detail::data_t</a>* boost::xint::core::base_integer::_get_data </td>
+ <td class="memname">void boost::xint::core::base_integer::_cleanup </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9151e31e4dbb0ca8b0ded670d7d71a5b"></a><!-- doxytag: member="boost::xint::core::base_integer::_copy" ref="a9151e31e4dbb0ca8b0ded670d7d71a5b" args="(const base_integer &amp;copy, size_t extra)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_copy </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>copy</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>extra</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00146">146</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00061">61</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -214,6 +304,45 @@
 
 </div>
 </div>
+<a class="anchor" id="a4a22086e857b186bbbe8a6e7b752ffa0"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digits" ref="a4a22086e857b186bbbe8a6e7b752ffa0" 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">detail::digit_t</a> * boost::xint::core::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="integer_8cpp_source.html#l00053">53</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad16080c4ce4693ed49c051408a225f44"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digits" ref="ad16080c4ce4693ed49c051408a225f44" 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">detail::digit_t</a> * boost::xint::core::base_integer::_get_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="integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a9ed6fed4d931d2eb9b481ca02cc96bd7"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_length" ref="a9ed6fed4d931d2eb9b481ca02cc96bd7" args="() const " -->
 <div class="memitem">
 <div class="memproto">
@@ -229,7 +358,45 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00049">49</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#l00057">57</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2fd6385e9d6953acbc0763720aafaac4"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_negative" ref="a2fd6385e9d6953acbc0763720aafaac4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::core::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="integer_8cpp_source.html#l00097">97</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4fc848087aa061549e9388495f14d4d4"></a><!-- doxytag: member="boost::xint::core::base_integer::_is_nan" ref="a4fc848087aa061549e9388495f14d4d4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::core::base_integer::_is_nan </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00165">165</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -248,7 +415,126 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00074">74</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#l00089">89</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a68ca6093ef45331d4f13c03a4af555"></a><!-- doxytag: member="boost::xint::core::base_integer::_is_zero" ref="a4a68ca6093ef45331d4f13c03a4af555" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::core::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="integer_8cpp_source.html#l00093">93</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a074070a5f6ccd250493acb53adc2e5d3"></a><!-- doxytag: member="boost::xint::core::base_integer::_realloc" ref="a074070a5f6ccd250493acb53adc2e5d3" args="(size_t new_digit_count)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::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="integer_8cpp_source.html#l00109">109</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa54c0899c6219b8fbc027b1e3b4d58c6"></a><!-- doxytag: member="boost::xint::core::base_integer::_set_negative" ref="aa54c0899c6219b8fbc027b1e3b4d58c6" args="(bool neg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::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="integer_8cpp_source.html#l00101">101</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2d3cc0c651416f681b0d9474e75e62ca"></a><!-- doxytag: member="boost::xint::core::base_integer::_shift_left" ref="a2d3cc0c651416f681b0d9474e75e62ca" args="(size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_shift_left </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="ae357701f90c4930ffa9035a4a9f1733b"></a><!-- doxytag: member="boost::xint::core::base_integer::_shift_right" ref="ae357701f90c4930ffa9035a4a9f1733b" args="(size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_shift_right </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00117">117</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac1dfaadf6302901f765b449cb8f1805a"></a><!-- doxytag: member="boost::xint::core::base_integer::_subtract" ref="ac1dfaadf6302901f765b449cb8f1805a" args="(const base_integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_subtract </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_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">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00129">129</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -257,7 +543,7 @@
 <li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Apr 13 00:48:56 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1core_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -28,19 +28,31 @@
 </div>
 <div class="contents">
 <h1>boost::xint::core::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a0a8f95e339c5c30a23313a4af6a40b51">_init</a>(detail::digit_t init=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab02f3ddc3b8bd2f892f8a072427076b4">_init</a>(const integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a275c6dc7e675e5395ab16d92c9851429">_init</a>(boost::uintmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <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#acb7343f98a534a07da2dc86d6e8bee0a">_attach</a>(detail::data_t *new_data, 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> [protected]</code></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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</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#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a>(digit_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_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><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#ad75a8d9bef5eb2d57cbac37cafd925eb">_duplicate</a>(const base_integer &amp;copy, size_t extra)</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#a359e782a4a4c3e386957bc9cc03f8bea">_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#a0c199a74bd0fee53de75f6ea80b4056c">_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#afd35edbad147f88c369bc4d0bda0b9ca">_get_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#a38654bb63b923be7f992e7812812b608">_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#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#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, protected]</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_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a66b8657cfa608ce2fd95bfad869e09b3">_set_negative</a>(bool negative)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::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#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#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#aea0cff03f7886f2c44747538e27ad7f1">_shift_left</a>(size_t byBits)</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#a8236c349f72d154823d592123d94f218">_shift_right</a>(size_t byBits)</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#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> [inline, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a61bef2a0575b9f331ca32686e489c9d3">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a615f128085bba5e711c24be546449f43">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a4e99025a3cdbf0777f90effe05e97625">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
@@ -68,11 +80,11 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aac72a9392108a0f684e7f502bef3d8fe">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a6c572b5a2976a88f0b214b0732a6d689">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a6778bfda930127b6f203cbb7967373b5">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a4d0691f762a659cfebdfadca63d0a7d6">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></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 Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:19 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1core_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -29,7 +29,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::core::integer Class Reference</h1><!-- doxytag: class="boost::xint::core::integer" --><!-- doxytag: inherits="boost::xint::core::base_integer" -->
+<h1>boost::xint::core::integer Class Reference</h1><!-- doxytag: class="boost::xint::core::integer" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
 <p>The core integer class.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
@@ -38,7 +38,7 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1core_1_1integer.png" usemap="#boost::xint::core::integer_map" alt=""/>
   <map id="boost::xint::core::integer_map" name="boost::xint::core::integer_map">
-<area href="classboost_1_1xint_1_1core_1_1base__integer.html" alt="boost::xint::core::base_integer" shape="rect" coords="0,0,178,24"/>
+<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>
@@ -89,14 +89,13 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine oddness. <br/></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_1core_1_1integer.html#a61bef2a0575b9f331ca32686e489c9d3">even</a> () const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine evenness. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the sign of <code>*this</code>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a4d0691f762a659cfebdfadca63d0a7d6">sign</a> (bool signed_zero=false) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the sign of <code>*this</code>. <br/></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_1core_1_1integer.html#a615f128085bba5e711c24be546449f43">hex_digits</a> () const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells you roughly how large an integer is. <br/></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>These functions allow access to the internals of the integer. They are intended for internal use only. </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_1core_1_1integer.html#a66b8657cfa608ce2fd95bfad869e09b3">_set_negative</a> (bool negative)</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_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a> ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Preconstructed integers</div></td></tr>
@@ -104,10 +103,6 @@
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">zero</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afcf74b546cda2690025c75325365a0fe">one</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_1core_1_1integer.html#a0a8f95e339c5c30a23313a4af6a40b51">_init</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> init=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab02f3ddc3b8bd2f892f8a072427076b4">_init</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;c)</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_1core_1_1integer.html#a275c6dc7e675e5395ab16d92c9851429">_init</a> (boost::uintmax_t n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The core integer class. </p>
@@ -115,7 +110,7 @@
 <p>There are only a few member functions; most of the functionality is implemented using standalone functions.</p>
 <p>Functions that start with an underscore (such as <code>_make_unique</code>) are intended for internal use only. They may change arbitrarily in future versions. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00173">173</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00192">192</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a4e99025a3cdbf0777f90effe05e97625"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a4e99025a3cdbf0777f90effe05e97625" args="()" -->
 <div class="memitem">
@@ -134,7 +129,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#l00082">82</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#l00030">30</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -164,7 +159,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#l00097">97</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#l00045">45</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -194,7 +189,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#l00111">111</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#l00059">59</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -233,16 +228,16 @@
 </dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__base.html" title="Exception class.">xint::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__digit.html" title="Exception class.">xint::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">exception::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">exception::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This will convert a string representation of a number into an integer. See the description of the xint::from_string function for details on its behavior.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This will convert a string representation of a number into an integer. See the description of the <a class="el" href="namespaceboost_1_1xint_1_1core.html#adaa2e5c8f2ff92faee861a68bc7e4cca">from_string</a> function for details on its behavior.</dd></dl>
 <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#l00136">136</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#l00085">85</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +289,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="xint_8hpp_source.html#l00798">798</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00801">801</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -346,73 +341,11 @@
 <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="xint_8hpp_source.html#l00830">830</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00833">833</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a275c6dc7e675e5395ab16d92c9851429"></a><!-- doxytag: member="boost::xint::core::integer::_init" ref="a275c6dc7e675e5395ab16d92c9851429" args="(boost::uintmax_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_init </td>
- <td>(</td>
- <td class="paramtype">boost::uintmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></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="integer_8cpp_source.html#l00152">152</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab02f3ddc3b8bd2f892f8a072427076b4"></a><!-- doxytag: member="boost::xint::core::integer::_init" ref="ab02f3ddc3b8bd2f892f8a072427076b4" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_init </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>c</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></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="integer_8cpp_source.html#l00148">148</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0a8f95e339c5c30a23313a4af6a40b51"></a><!-- doxytag: member="boost::xint::core::integer::_init" ref="a0a8f95e339c5c30a23313a4af6a40b51" args="(detail::digit_t init=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_init </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="paramname"> <em>init</em> = <code>0</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-
-</div>
-</div>
 <a class="anchor" id="a1f1b1c19c7c3ec22972124abdbd08cc1"></a><!-- doxytag: member="boost::xint::core::integer::_make_unique" ref="a1f1b1c19c7c3ec22972124abdbd08cc1" args="()" -->
 <div class="memitem">
 <div class="memproto">
@@ -428,27 +361,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>
-
-</div>
-</div>
-<a class="anchor" id="a66b8657cfa608ce2fd95bfad869e09b3"></a><!-- doxytag: member="boost::xint::core::integer::_set_negative" ref="a66b8657cfa608ce2fd95bfad869e09b3" args="(bool negative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_set_negative </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>negative</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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#l00089">89</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -470,7 +383,7 @@
 <p>Tests the lowest bit of <code>*this</code> to determine evenness. </p>
 <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#l00189">189</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -492,7 +405,7 @@
 <p>Tells you roughly how large an integer is. </p>
 <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#l00208">208</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#l00128">128</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -514,7 +427,7 @@
 <p>Tests the lowest bit of <code>*this</code> to determine oddness. </p>
 <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#l00181">181</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00097">97</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -533,7 +446,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00280">280</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00200">200</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -553,7 +466,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00246">246</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>
@@ -573,7 +486,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00255">255</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>
@@ -593,7 +506,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00244">244</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>
@@ -614,7 +527,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00250">250</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>
@@ -634,7 +547,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00248">248</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#l00168">168</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -654,7 +567,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00213">213</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#l00133">133</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -675,7 +588,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00251">251</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>
@@ -695,7 +608,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00249">249</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>
@@ -715,7 +628,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00227">227</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#l00147">147</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -735,7 +648,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00245">245</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>
@@ -755,7 +668,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00253">253</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>
@@ -775,7 +688,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00259">259</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00179">179</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -795,7 +708,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00239">239</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#l00159">159</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -815,7 +728,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00254">254</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -835,7 +748,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00267">267</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#l00187">187</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -855,7 +768,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00257">257</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -875,18 +788,19 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00256">256</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#l00176">176</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="abbb37de330e3a50ac3df337e5c0eb1c9"></a><!-- doxytag: member="boost::xint::core::integer::sign" ref="abbb37de330e3a50ac3df337e5c0eb1c9" args="() const " -->
+<a class="anchor" id="a4d0691f762a659cfebdfadca63d0a7d6"></a><!-- doxytag: member="boost::xint::core::integer::sign" ref="a4d0691f762a659cfebdfadca63d0a7d6" args="(bool signed_zero=false) const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">int boost::xint::core::integer::sign </td>
           <td>(</td>
- <td class="paramname"></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>signed_zero</em> = <code>false</code></td>
           <td>&nbsp;)&nbsp;</td>
           <td> const</td>
         </tr>
@@ -895,9 +809,15 @@
 <div class="memdoc">
 
 <p>Tests the sign of <code>*this</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>signed_zero</em>&nbsp;</td><td>If <code>false</code> (the default value), returns zero if <code>*this</code> is zero. If <code>true</code>, returns 1 or -1 on a zero <code>*this</code> as well. Primarily used to identify a <a class="el" href="zero.html">negative zero</a>.</td></tr>
+ </table>
+ </dd>
+</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#l00198">198</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#l00118">118</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -916,7 +836,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00275">275</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#l00195">195</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -925,7 +845,7 @@
 <li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:19 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://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_1core_1_1integer.png
==============================================================================
Binary files. No diff available.

Added: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,63 @@
+<!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>Related Pages</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#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(data_t&lt;&gt; *new_data, 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> [protected]</code></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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</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#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a>(digit_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_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><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_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><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#ad75a8d9bef5eb2d57cbac37cafd925eb">_duplicate</a>(const base_integer &amp;copy, size_t extra)</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#a9ee8727d51762352bba8ea8e3b8489f2">_get_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#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#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#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, protected]</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#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#a0980c3f09050640e8f33a9f10bcd2c38">_set_n</a>(boost::uintmax_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><code> [protected]</code></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#aea0cff03f7886f2c44747538e27ad7f1">_shift_left</a>(size_t byBits)</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#a8236c349f72d154823d592123d94f218">_shift_right</a>(size_t byBits)</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#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> [inline, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94ba0c5d0b11588062116ebf6263f2cc">base_integer</a>(size_t count, digit_t mask, void *d)</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 Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&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>

Added: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,669 @@
+<!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>Related Pages</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 the 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_1integer.html" alt="boost::xint::integer" shape="rect" coords="0,56,182,80"/>
+<area href="classboost_1_1xint_1_1nothrow__integer.html" alt="boost::xint::nothrow_integer" shape="rect" coords="192,56,374,80"/>
+</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"><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"><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#a9ee8727d51762352bba8ea8e3b8489f2">_get_digits</a> ()</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">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">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">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#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#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#ad75a8d9bef5eb2d57cbac37cafd925eb">_duplicate</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;copy, size_t extra)</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#aea0cff03f7886f2c44747538e27ad7f1">_shift_left</a> (size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">_shift_right</a> (size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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#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 colspan="2"><h2>Protected 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#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</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#a94ba0c5d0b11588062116ebf6263f2cc">base_integer</a> (size_t count, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask, void *d)</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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_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#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>&lt;&gt; *new_data, bool neg=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#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#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</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#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> 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#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a> (boost::uintmax_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#a0980c3f09050640e8f33a9f10bcd2c38">_set_n</a> (boost::uintmax_t n)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The base class for the integer classes. </p>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00085">85</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="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#l00041">41</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> [inline, protected]</code></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="a94ba0c5d0b11588062116ebf6263f2cc"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a94ba0c5d0b11588062116ebf6263f2cc" args="(size_t count, digit_t mask, void *d)" -->
+<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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>d</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#l00028">28</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">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00215">215</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</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><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00084">84</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0ff9a2dc0d72f2c16caf68c6277cdab9"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach" ref="a0ff9a2dc0d72f2c16caf68c6277cdab9" args="(data_t&lt;&gt; *new_data, bool neg=false)" -->
+<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"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>&lt;&gt; *&nbsp;</td>
+ <td class="paramname"> <em>new_data</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> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00071">71</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4f2678c34cdf09e8df0c38ea91347fd7"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_0" ref="a4f2678c34cdf09e8df0c38ea91347fd7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_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#l00088">88</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab94f96758a658c1523291c6d10ca7dc0"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_1" ref="ab94f96758a658c1523291c6d10ca7dc0" args="(digit_t n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_attach_1 </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>n</em></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#l00092">92</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a00be0a0a2d19316259c54a8ced4e8451"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_n" ref="a00be0a0a2d19316259c54a8ced4e8451" args="(boost::uintmax_t n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_attach_n </td>
+ <td>(</td>
+ <td class="paramtype">boost::uintmax_t&nbsp;</td>
+ <td class="paramname"> <em>n</em></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#l00101">101</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abdfe224ab8dae4dbd4cfdd16e6c0612f"></a><!-- doxytag: member="boost::xint::detail::base_integer::_base_make_unique" ref="abdfe224ab8dae4dbd4cfdd16e6c0612f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_base_make_unique </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#l00211">211</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#l00136">136</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad75a8d9bef5eb2d57cbac37cafd925eb"></a><!-- doxytag: member="boost::xint::detail::base_integer::_duplicate" ref="ad75a8d9bef5eb2d57cbac37cafd925eb" args="(const base_integer &amp;copy, size_t extra)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_duplicate </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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>extra</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="base__integer_8cpp_source.html#l00066">66</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#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="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#l00045">45</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#l00058">58</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9ee8727d51762352bba8ea8e3b8489f2"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digits" ref="a9ee8727d51762352bba8ea8e3b8489f2" 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_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#l00054">54</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#l00062">62</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#l00128">128</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, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00113">113</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#l00120">120</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#l00124">124</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#l00144">144</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0980c3f09050640e8f33a9f10bcd2c38"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_n" ref="a0980c3f09050640e8f33a9f10bcd2c38" args="(boost::uintmax_t n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_set_n </td>
+ <td>(</td>
+ <td class="paramtype">boost::uintmax_t&nbsp;</td>
+ <td class="paramname"> <em>n</em></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#l00109">109</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#l00132">132</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aea0cff03f7886f2c44747538e27ad7f1"></a><!-- doxytag: member="boost::xint::detail::base_integer::_shift_left" ref="aea0cff03f7886f2c44747538e27ad7f1" args="(size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_shift_left </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</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#l00149">149</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8236c349f72d154823d592123d94f218"></a><!-- doxytag: member="boost::xint::detail::base_integer::_shift_right" ref="a8236c349f72d154823d592123d94f218" args="(size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_shift_right </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</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#l00178">178</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">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00245">245</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 Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&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>

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

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1cannot__represent.html">boost::xint::exception::cannot_represent</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1cannot__represent.html#ac139cee00f7b95cd24e3c1ca08df94f4">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_1exception_1_1cannot__represent.html">boost::xint::exception::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::cannot_represent 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>Related Pages</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_1exception.html">exception</a>::<a class="el" href="classboost_1_1xint_1_1exception_1_1cannot__represent.html">cannot_represent</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::exception::cannot_represent Class Reference</h1><!-- doxytag: class="boost::xint::exception::cannot_represent" -->
+<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_1exception_1_1cannot__represent.html#ac139cee00f7b95cd24e3c1ca08df94f4">cannot_represent</a> (const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Derived from <code>std::invalid_argument</code>. </p>
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00072">72</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac139cee00f7b95cd24e3c1ca08df94f4"></a><!-- doxytag: member="boost::xint::exception::cannot_represent::cannot_represent" ref="ac139cee00f7b95cd24e3c1ca08df94f4" args="(const std::string &amp;what=&quot;cannot represent the requested value&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::exception::cannot_represent::cannot_represent </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>what</em> = <code>&quot;cannot&nbsp;represent&nbsp;the&nbsp;requested&nbsp;value&quot;</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00074">74</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&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>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html">boost::xint::exception::divide_by_zero</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html#a0204a971605df703d92d4138d8887787">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_1exception_1_1divide__by__zero.html">boost::xint::exception::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::divide_by_zero 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>Related Pages</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_1exception.html">exception</a>::<a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html">divide_by_zero</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::exception::divide_by_zero Class Reference</h1><!-- doxytag: class="boost::xint::exception::divide_by_zero" -->
+<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_1exception_1_1divide__by__zero.html#a0204a971605df703d92d4138d8887787">divide_by_zero</a> (const std::string &amp;what=&quot;divide by zero error&quot;)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Derived from <code>std::invalid_argument</code>. </p>
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00063">63</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0204a971605df703d92d4138d8887787"></a><!-- doxytag: member="boost::xint::exception::divide_by_zero::divide_by_zero" ref="a0204a971605df703d92d4138d8887787" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::exception::divide_by_zero::divide_by_zero </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>what</em> = <code>&quot;divide&nbsp;by&nbsp;zero&nbsp;error&quot;</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00065">65</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&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>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::invalid_argument Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">boost::xint::exception::invalid_argument</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html#a4d4ee3beec234fe35528af87932a35d7">invalid_argument</a>(const std::string &amp;what=&quot;invalid argument&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">boost::xint::exception::invalid_argument</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::invalid_argument 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>Related Pages</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_1exception.html">exception</a>::<a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">invalid_argument</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::exception::invalid_argument Class Reference</h1><!-- doxytag: class="boost::xint::exception::invalid_argument" -->
+<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_1exception_1_1invalid__argument.html#a4d4ee3beec234fe35528af87932a35d7">invalid_argument</a> (const std::string &amp;what=&quot;invalid argument&quot;)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Derived from <code>std::invalid_argument</code>. </p>
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00027">27</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4d4ee3beec234fe35528af87932a35d7"></a><!-- doxytag: member="boost::xint::exception::invalid_argument::invalid_argument" ref="a4d4ee3beec234fe35528af87932a35d7" args="(const std::string &amp;what=&quot;invalid argument&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::exception::invalid_argument::invalid_argument </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>what</em> = <code>&quot;invalid&nbsp;argument&quot;</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00024">24</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&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>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">boost::xint::exception::invalid_base</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html#a3832b2e8e712672d3cdeb829b6014dcd">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">boost::xint::exception::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::invalid_base 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>Related Pages</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_1exception.html">exception</a>::<a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">invalid_base</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::exception::invalid_base Class Reference</h1><!-- doxytag: class="boost::xint::exception::invalid_base" -->
+<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_1exception_1_1invalid__base.html#a3832b2e8e712672d3cdeb829b6014dcd">invalid_base</a> (const std::string &amp;what=&quot;invalid base&quot;)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Derived from <code>std::invalid_argument</code>. </p>
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00036">36</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3832b2e8e712672d3cdeb829b6014dcd"></a><!-- doxytag: member="boost::xint::exception::invalid_base::invalid_base" ref="a3832b2e8e712672d3cdeb829b6014dcd" args="(const std::string &amp;what=&quot;invalid base&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::exception::invalid_base::invalid_base </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>what</em> = <code>&quot;invalid&nbsp;base&quot;</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00038">38</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&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>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">boost::xint::exception::invalid_digit</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html#a38619f688309de7aa08b135a652f4437">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">boost::xint::exception::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::invalid_digit 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>Related Pages</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_1exception.html">exception</a>::<a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">invalid_digit</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::exception::invalid_digit Class Reference</h1><!-- doxytag: class="boost::xint::exception::invalid_digit" -->
+<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_1exception_1_1invalid__digit.html#a38619f688309de7aa08b135a652f4437">invalid_digit</a> (const std::string &amp;what=&quot;invalid digit&quot;)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Derived from <code>std::range_error</code>. </p>
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00045">45</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a38619f688309de7aa08b135a652f4437"></a><!-- doxytag: member="boost::xint::exception::invalid_digit::invalid_digit" ref="a38619f688309de7aa08b135a652f4437" args="(const std::string &amp;what=&quot;invalid digit&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::exception::invalid_digit::invalid_digit </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>what</em> = <code>&quot;invalid&nbsp;digit&quot;</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00047">47</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&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>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html (from r61200, /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 (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -27,11 +27,10 @@
   </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>
+<h1>boost::xint::exception::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html">boost::xint::exception::invalid_modulus</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html#ab73f8c969e5a24b1245f3e6762767c43">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html">boost::xint::exception::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 19:56:46 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html 2010-04-17 20:45:43 EDT (Sat, 17 Apr 2010)
@@ -0,0 +1,71 @@
+<!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::exception::invalid_modulus 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>Related Pages</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_