Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61695 - in sandbox/xint: . boost/xint doc doc/dox src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-04-30 00:36:30


Author: chadnelson
Date: 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
New Revision: 61695
URL: http://svn.boost.org/trac/boost/changeset/61695

Log:
* Major redesign, separating xint::integer and xint::nothrow_integer,
eliminating the exception-blocking functions, and adding an
xint::fixed_integer template class.
* Major overhaul of many of the functions, making them more efficient and
fixing newly-discovered bugs.
* All test functions now use Boost.Test, many new tests added.
* All documentation moved to Doxygen format.
* Moved xint namespace into boost namespace.
* "Fixed" several small memory leaks. Most of them weren't real leaks, but
Boost.Test couldn't tell that.
* Many less-major changes.
Added:
   sandbox/xint/boost/xint/fixed_integer.hpp (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__variable__length__integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1bitqueue__t.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1neg__t.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1temp__t.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.png (contents, props changed)
   sandbox/xint/doc/classdisable__boost__rv__ref.html (contents, props changed)
      - copied, changed from r61346, /sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html (contents, props changed)
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html (contents, props changed)
   sandbox/xint/doc/complexity.html (contents, props changed)
      - copied, changed from r61346, /sandbox/xint/doc/pages.html
   sandbox/xint/doc/complexity_8dox.html
      - copied, changed from r61346, /sandbox/xint/doc/exceptions_8dox.html
   sandbox/xint/doc/dox/complexity.dox (contents, props changed)
   sandbox/xint/doc/dox/fixed_and_variable.dox (contents, props changed)
   sandbox/xint/doc/fixed__and__variable.html
      - copied, changed from r61346, /sandbox/xint/doc/dependencies.html
   sandbox/xint/doc/fixed__and__variable_8dox.html
      - copied, changed from r61346, /sandbox/xint/doc/r__insecure__default_8dox.html
   sandbox/xint/doc/fixed__integer_8hpp.html (contents, props changed)
   sandbox/xint/doc/fixed__integer_8hpp_source.html (contents, props changed)
   sandbox/xint/doc/functions_0x62.html (contents, props changed)
   sandbox/xint/doc/functions_0x63.html (contents, props changed)
   sandbox/xint/doc/functions_0x64.html (contents, props changed)
   sandbox/xint/doc/functions_0x65.html (contents, props changed)
   sandbox/xint/doc/functions_0x66.html (contents, props changed)
   sandbox/xint/doc/functions_0x67.html (contents, props changed)
   sandbox/xint/doc/functions_0x68.html (contents, props changed)
   sandbox/xint/doc/functions_0x69.html (contents, props changed)
   sandbox/xint/doc/functions_0x6c.html (contents, props changed)
   sandbox/xint/doc/functions_0x6d.html (contents, props changed)
   sandbox/xint/doc/functions_0x6e.html (contents, props changed)
   sandbox/xint/doc/functions_0x6f.html (contents, props changed)
   sandbox/xint/doc/functions_0x70.html (contents, props changed)
   sandbox/xint/doc/functions_0x71.html (contents, props changed)
   sandbox/xint/doc/functions_0x72.html (contents, props changed)
   sandbox/xint/doc/functions_0x73.html (contents, props changed)
   sandbox/xint/doc/functions_0x74.html (contents, props changed)
   sandbox/xint/doc/functions_0x7a.html (contents, props changed)
   sandbox/xint/doc/functions_0x7e.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x62.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x63.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x64.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x65.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x66.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x68.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x69.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x6d.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x6e.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x6f.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x70.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x71.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x72.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x73.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x74.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x7a.html (contents, props changed)
   sandbox/xint/doc/functions_func_0x7e.html (contents, props changed)
   sandbox/xint/doc/functions_rela.html (contents, props changed)
      - copied, changed from r61346, /sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html
   sandbox/xint/doc/namespacemembers_0x62.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x63.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x64.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x66.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x67.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x68.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x69.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x6c.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x6d.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x6e.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x6f.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x70.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x72.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x73.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x74.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_0x7a.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x62.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x63.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x64.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x66.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x67.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x68.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x69.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x6c.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x6d.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x6e.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x6f.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x70.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x72.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x73.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x74.html (contents, props changed)
   sandbox/xint/doc/namespacemembers_func_0x7a.html (contents, props changed)
   sandbox/xint/test/test_compare.cpp (contents, props changed)
   sandbox/xint/test/test_fixed.cpp (contents, props changed)
   sandbox/xint/test/test_misc.cpp (contents, props changed)
   sandbox/xint/test/test_modular.cpp (contents, props changed)
   sandbox/xint/test/test_powers.cpp (contents, props changed)
Removed:
   sandbox/xint/doc/blockable__bit__manipulations_8cpp.html
   sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html
   sandbox/xint/doc/blockable__compare_8cpp.html
   sandbox/xint/doc/blockable__compare_8cpp_source.html
   sandbox/xint/doc/blockable__convert_8cpp.html
   sandbox/xint/doc/blockable__convert_8cpp_source.html
   sandbox/xint/doc/blockable__gcd_8cpp.html
   sandbox/xint/doc/blockable__gcd_8cpp_source.html
   sandbox/xint/doc/blockable__integer_8cpp.html
   sandbox/xint/doc/blockable__integer_8cpp_source.html
   sandbox/xint/doc/blockable__misc_8cpp.html
   sandbox/xint/doc/blockable__misc_8cpp_source.html
   sandbox/xint/doc/blockable__modular_8cpp.html
   sandbox/xint/doc/blockable__modular_8cpp_source.html
   sandbox/xint/doc/blockable__operators_8cpp.html
   sandbox/xint/doc/blockable__operators_8cpp_source.html
   sandbox/xint/doc/blockable__powers_8cpp.html
   sandbox/xint/doc/blockable__powers_8cpp_source.html
   sandbox/xint/doc/blockable__primes_8cpp.html
   sandbox/xint/doc/blockable__primes_8cpp_source.html
   sandbox/xint/doc/blockable__primitives_8cpp.html
   sandbox/xint/doc/blockable__primitives_8cpp_source.html
   sandbox/xint/doc/blockable__random_8cpp.html
   sandbox/xint/doc/blockable__random_8cpp_source.html
   sandbox/xint/doc/blockable__roots_8cpp.html
   sandbox/xint/doc/blockable__roots_8cpp_source.html
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html
   sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html
   sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html
   sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html
   sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1too__big.html
   sandbox/xint/doc/exception__blocker_8cpp.html
   sandbox/xint/doc/exception__blocker_8cpp_source.html
   sandbox/xint/doc/namespaceboost_1_1xint_1_1blockable.html
   sandbox/xint/doc/namespaceboost_1_1xint_1_1core.html
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exception.html
   sandbox/xint/doc/pages.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits-members.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1token.html
   sandbox/xint/doc/todo.html
   sandbox/xint/doc/xint__data__t_8hpp.html
   sandbox/xint/doc/xint__data__t_8hpp_source.html
   sandbox/xint/doc/xint__monty_8hpp.html
   sandbox/xint/doc/xint__monty_8hpp_source.html
   sandbox/xint/doc/xint__test_8hpp.html
   sandbox/xint/doc/xint__test_8hpp_source.html
Binary files modified:
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1integer.png
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.png
Text files modified:
   sandbox/xint/README.TXT | 2
   sandbox/xint/boost/xint/integer.hpp | 154 -
   sandbox/xint/boost/xint/internals.hpp | 445 ++++
   sandbox/xint/boost/xint/nothrow_integer.hpp | 83
   sandbox/xint/boost/xint/random.hpp | 1
   sandbox/xint/boost/xint/xint.hpp | 1
   sandbox/xint/doc/acknowledgements.html | 3
   sandbox/xint/doc/acknowledgements_8dox.html | 3
   sandbox/xint/doc/annotated.html | 16
   sandbox/xint/doc/base__integer_8cpp.html | 5
   sandbox/xint/doc/base__integer_8cpp_source.html | 597 +++--
   sandbox/xint/doc/bit__manipulations_8cpp.html | 38
   sandbox/xint/doc/bit__manipulations_8cpp_source.html | 369 ++-
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html | 47
   sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html | 608 +++++-
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html | 7
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html | 58
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html | 378 +++-
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html | 61
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html | 378 +++
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html | 3
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html | 19
   sandbox/xint/doc/classdisable__boost__rv__ref.html | 20
   sandbox/xint/doc/classes.html | 22
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html | 3
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html | 101
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html | 3
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html | 101
   sandbox/xint/doc/compare_8cpp.html | 22
   sandbox/xint/doc/compare_8cpp_source.html | 116
   sandbox/xint/doc/complexity.html | 14
   sandbox/xint/doc/complexity_8dox.html | 7
   sandbox/xint/doc/convert_8cpp.html | 28
   sandbox/xint/doc/convert_8cpp_source.html | 331 ++-
   sandbox/xint/doc/copyonwrite_8dox.html | 3
   sandbox/xint/doc/cow.html | 5
   sandbox/xint/doc/data__t_8cpp.html | 37
   sandbox/xint/doc/data__t_8cpp_source.html | 260 +-
   sandbox/xint/doc/dependencies.html | 9
   sandbox/xint/doc/dependencies_8dox.html | 3
   sandbox/xint/doc/dox/Doxyfile | 2
   sandbox/xint/doc/dox/copyonwrite.dox | 8
   sandbox/xint/doc/dox/dependencies.dox | 8
   sandbox/xint/doc/dox/history.dox | 21
   sandbox/xint/doc/dox/index.dox | 27
   sandbox/xint/doc/dox/r_cow.dox | 13
   sandbox/xint/doc/dox/rationale.dox | 2
   sandbox/xint/doc/dox/threadsafe.dox | 4
   sandbox/xint/doc/ex__fibonacci.html | 3
   sandbox/xint/doc/ex__fibonacci_8dox.html | 3
   sandbox/xint/doc/exceptions.html | 3
   sandbox/xint/doc/exceptions_8dox.html | 3
   sandbox/xint/doc/exceptions_8hpp.html | 11
   sandbox/xint/doc/exceptions_8hpp_source.html | 65
   sandbox/xint/doc/files.html | 4
   sandbox/xint/doc/fixed__and__variable.html | 19
   sandbox/xint/doc/fixed__and__variable_8dox.html | 7
   sandbox/xint/doc/functions.html | 484 ----
   sandbox/xint/doc/functions_func.html | 347 ---
   sandbox/xint/doc/functions_rela.html | 28
   sandbox/xint/doc/functions_type.html | 12
   sandbox/xint/doc/functions_vars.html | 108
   sandbox/xint/doc/gcd_8cpp.html | 17
   sandbox/xint/doc/gcd_8cpp_source.html | 204 +
   sandbox/xint/doc/globals.html | 30
   sandbox/xint/doc/globals_defs.html | 30
   sandbox/xint/doc/globals_vars.html | 3
   sandbox/xint/doc/hierarchy.html | 20
   sandbox/xint/doc/history.html | 17
   sandbox/xint/doc/history_8dox.html | 3
   sandbox/xint/doc/index.html | 10
   sandbox/xint/doc/index_8dox.html | 3
   sandbox/xint/doc/integer_8cpp.html | 3
   sandbox/xint/doc/integer_8cpp_source.html | 218 +-
   sandbox/xint/doc/integer_8hpp.html | 151
   sandbox/xint/doc/integer_8hpp_source.html | 453 ++--
   sandbox/xint/doc/internals_8hpp.html | 207 ++
   sandbox/xint/doc/internals_8hpp_source.html | 537 ++++-
   sandbox/xint/doc/misc_8cpp.html | 8
   sandbox/xint/doc/misc_8cpp_source.html | 20
   sandbox/xint/doc/modular_8cpp.html | 14
   sandbox/xint/doc/modular_8cpp_source.html | 138
   sandbox/xint/doc/monty_8cpp.html | 19
   sandbox/xint/doc/monty_8cpp_source.html | 326 +-
   sandbox/xint/doc/monty_8hpp.html | 15
   sandbox/xint/doc/monty_8hpp_source.html | 3
   sandbox/xint/doc/namespaceboost.html | 5
   sandbox/xint/doc/namespaceboost_1_1xint.html | 3644 +++++++++++++++++++++++++++++++++------
   sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html | 1439 +++++++++++++++
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html | 11
   sandbox/xint/doc/namespacemembers.html | 361 ---
   sandbox/xint/doc/namespacemembers_func.html | 327 ---
   sandbox/xint/doc/namespacemembers_type.html | 6
   sandbox/xint/doc/namespacemembers_vars.html | 6
   sandbox/xint/doc/namespaces.html | 3
   sandbox/xint/doc/namespacestd.html | 4
   sandbox/xint/doc/nan.html | 3
   sandbox/xint/doc/nan_8dox.html | 3
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html | 13
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html | 161
   sandbox/xint/doc/nothrow__compare_8cpp.html | 8
   sandbox/xint/doc/nothrow__compare_8cpp_source.html | 73
   sandbox/xint/doc/nothrow__convert_8cpp.html | 9
   sandbox/xint/doc/nothrow__convert_8cpp_source.html | 62
   sandbox/xint/doc/nothrow__gcd_8cpp.html | 3
   sandbox/xint/doc/nothrow__gcd_8cpp_source.html | 41
   sandbox/xint/doc/nothrow__integer_8cpp.html | 3
   sandbox/xint/doc/nothrow__integer_8cpp_source.html | 304 +-
   sandbox/xint/doc/nothrow__integer_8hpp.html | 104
   sandbox/xint/doc/nothrow__integer_8hpp_source.html | 541 +++--
   sandbox/xint/doc/nothrow__misc_8cpp.html | 3
   sandbox/xint/doc/nothrow__misc_8cpp_source.html | 7
   sandbox/xint/doc/nothrow__modular_8cpp.html | 7
   sandbox/xint/doc/nothrow__modular_8cpp_source.html | 97
   sandbox/xint/doc/nothrow__operators_8cpp.html | 13
   sandbox/xint/doc/nothrow__operators_8cpp_source.html | 29
   sandbox/xint/doc/nothrow__powers_8cpp.html | 7
   sandbox/xint/doc/nothrow__powers_8cpp_source.html | 61
   sandbox/xint/doc/nothrow__primes_8cpp.html | 3
   sandbox/xint/doc/nothrow__primes_8cpp_source.html | 22
   sandbox/xint/doc/nothrow__primitives_8cpp.html | 12
   sandbox/xint/doc/nothrow__primitives_8cpp_source.html | 131
   sandbox/xint/doc/nothrow__random_8cpp.html | 3
   sandbox/xint/doc/nothrow__random_8cpp_source.html | 5
   sandbox/xint/doc/nothrow__roots_8cpp.html | 3
   sandbox/xint/doc/nothrow__roots_8cpp_source.html | 23
   sandbox/xint/doc/operators_8cpp.html | 14
   sandbox/xint/doc/operators_8cpp_source.html | 28
   sandbox/xint/doc/powers_8cpp.html | 19
   sandbox/xint/doc/powers_8cpp_source.html | 247 +-
   sandbox/xint/doc/primes.html | 3
   sandbox/xint/doc/primes_8cpp.html | 4
   sandbox/xint/doc/primes_8cpp_source.html | 212 +-
   sandbox/xint/doc/primes_8dox.html | 3
   sandbox/xint/doc/primitives_8cpp.html | 29
   sandbox/xint/doc/primitives_8cpp_source.html | 604 ++++--
   sandbox/xint/doc/r__core.html | 3
   sandbox/xint/doc/r__core_8dox.html | 3
   sandbox/xint/doc/r__cow.html | 7
   sandbox/xint/doc/r__cow_8dox.html | 3
   sandbox/xint/doc/r__default__necessary.html | 3
   sandbox/xint/doc/r__default__necessary_8dox.html | 3
   sandbox/xint/doc/r__exception__blocking.html | 3
   sandbox/xint/doc/r__exception__blocking_8dox.html | 3
   sandbox/xint/doc/r__insecure__default.html | 3
   sandbox/xint/doc/r__insecure__default_8dox.html | 3
   sandbox/xint/doc/r__interface.html | 3
   sandbox/xint/doc/r__interface_8dox.html | 3
   sandbox/xint/doc/r__interface__design__only.html | 3
   sandbox/xint/doc/r__interface__design__only_8dox.html | 3
   sandbox/xint/doc/r__nan.html | 3
   sandbox/xint/doc/r__nan_8dox.html | 3
   sandbox/xint/doc/r__negzero.html | 3
   sandbox/xint/doc/r__negzero_8dox.html | 3
   sandbox/xint/doc/r__random.html | 3
   sandbox/xint/doc/r__random_8dox.html | 3
   sandbox/xint/doc/r__shared__ptr.html | 3
   sandbox/xint/doc/r__shared__ptr_8dox.html | 3
   sandbox/xint/doc/random.html | 3
   sandbox/xint/doc/random_8cpp.html | 5
   sandbox/xint/doc/random_8cpp_source.html | 371 ++-
   sandbox/xint/doc/random_8dox.html | 3
   sandbox/xint/doc/random_8hpp.html | 11
   sandbox/xint/doc/random_8hpp_source.html | 66
   sandbox/xint/doc/rationale.html | 5
   sandbox/xint/doc/rationale_8dox.html | 3
   sandbox/xint/doc/roots_8cpp.html | 9
   sandbox/xint/doc/roots_8cpp_source.html | 68
   sandbox/xint/doc/securemode.html | 3
   sandbox/xint/doc/securemode_8dox.html | 3
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html | 4
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html | 24
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html | 14
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html | 71
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html | 4
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html | 21
   sandbox/xint/doc/testing.html | 3
   sandbox/xint/doc/testing_8dox.html | 3
   sandbox/xint/doc/threadsafe.html | 5
   sandbox/xint/doc/threadsafe_8dox.html | 3
   sandbox/xint/doc/xint_8hpp.html | 3
   sandbox/xint/doc/xint_8hpp_source.html | 12
   sandbox/xint/doc/zero.html | 5
   sandbox/xint/doc/zero_8dox.html | 3
   sandbox/xint/src/base_integer.cpp | 411 ++-
   sandbox/xint/src/bit_manipulations.cpp | 336 ++-
   sandbox/xint/src/compare.cpp | 96
   sandbox/xint/src/convert.cpp | 292 +-
   sandbox/xint/src/data_t.cpp | 170 +
   sandbox/xint/src/gcd.cpp | 159 +
   sandbox/xint/src/integer.cpp | 102
   sandbox/xint/src/misc.cpp | 20
   sandbox/xint/src/modular.cpp | 109
   sandbox/xint/src/monty.cpp | 7
   sandbox/xint/src/nothrow_bit_manipulations.cpp | 36
   sandbox/xint/src/nothrow_compare.cpp | 26
   sandbox/xint/src/nothrow_convert.cpp | 27
   sandbox/xint/src/nothrow_gcd.cpp | 10
   sandbox/xint/src/nothrow_integer.cpp | 91
   sandbox/xint/src/nothrow_misc.cpp | 4
   sandbox/xint/src/nothrow_modular.cpp | 24
   sandbox/xint/src/nothrow_operators.cpp | 4
   sandbox/xint/src/nothrow_powers.cpp | 16
   sandbox/xint/src/nothrow_primes.cpp | 5
   sandbox/xint/src/nothrow_primitives.cpp | 52
   sandbox/xint/src/nothrow_random.cpp | 2
   sandbox/xint/src/nothrow_roots.cpp | 6
   sandbox/xint/src/operators.cpp | 3
   sandbox/xint/src/powers.cpp | 204 +
   sandbox/xint/src/primes.cpp | 16
   sandbox/xint/src/primitives.cpp | 529 +++-
   sandbox/xint/src/random.cpp | 42
   sandbox/xint/src/roots.cpp | 57
   sandbox/xint/test/Jamroot | 2
   sandbox/xint/test/test_add.cpp | 46
   sandbox/xint/test/test_bit_manipulations.cpp | 135
   sandbox/xint/test/test_convert.cpp | 95
   sandbox/xint/test/test_divide.cpp | 36
   sandbox/xint/test/test_main.cpp | 8
   sandbox/xint/test/test_monty.cpp | 87
   sandbox/xint/test/test_multiply.cpp | 51
   sandbox/xint/test/test_streams.cpp | 3
   241 files changed, 13382 insertions(+), 7540 deletions(-)

Modified: sandbox/xint/README.TXT
==============================================================================
--- sandbox/xint/README.TXT (original)
+++ sandbox/xint/README.TXT 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -7,7 +7,7 @@
 
 Notes:
 
-The code has been fully tested under Windows (MSVC 8 SP1) and Linux (GCC 4.4.1).
+The code has been fully tested under Windows (MSVC 8 SP1) and Linux (GCC 4.4.3).
 
 Auto-linking and Windows DLLs are not yet supported. The code will compile under
 Windows with no problem, but I haven't tried it through the bjam system there

Added: sandbox/xint/boost/xint/fixed_integer.hpp
==============================================================================
--- (empty file)
+++ sandbox/xint/boost/xint/fixed_integer.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,898 @@
+
+/*
+ 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 fixed-size integer type.
+*/
+
+#ifndef BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP
+#define BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP
+
+#include <boost/shared_ptr.hpp>
+#include "internals.hpp"
+#include "exceptions.hpp"
+
+namespace boost {
+namespace xint {
+
+/*! \brief A fixed-size integer type.
+
+\tparam Bits The number of bits that the magnitude of the %fixed_integer type
+should be limited to. This can be any number greater than zero.
+
+%fixed_integer types are more processor-efficient than variable-sized %integers,
+because they seldom need to do any allocation once they're created. However,
+they can be less memory-efficient for holding smaller values. They also silently
+discard the upper bits on any value that is too big for them, which can bite the
+unwary.
+
+\note The number of bits refers only to the unsigned magnitude of the number.
+The sign is stored separately. This means that, for example, a \c
+fixed_integer<8> has a range of -255 to +255, not -128 to +127 like an \c
+int8_t.
+
+\par
+Also note that when calculating with %fixed_integer types, the number does not
+"wrap around" when it exceeds the type's size like the built-in signed %integer
+types do. It is truncated to the lower bits instead. For example,
+<code>fixed_integer<8>(-255) - 1</code> and <code>fixed_integer<8>(255) +
+1</code> will both be zero. However, the sign (on non-zero answers) is
+preserved, so <code>fixed_integer<8>(-255) - 2</code> will be -1.
+*/
+template <size_t Bits>
+class fixed_integer: public fixed_integer_any {
+ public:
+ //! \name Constructors & Destructors
+ //!@{
+ fixed_integer();
+ fixed_integer(const fixed_integer<Bits>& b);
+ explicit fixed_integer(const base_integer& b);
+ explicit fixed_integer(const std::string& str, size_t base=10);
+ template <typename T> fixed_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> fixed_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 Miscellaneous Functions
+ //!@{
+ bool odd() const;
+ bool even() const;
+ int sign(bool signed_zero=false) const;
+ size_t hex_digits() const;
+ //!@}
+
+ /*! \name Mathematical and Bitwise Operators
+ \brief These operate exactly like their counterparts for the built-in
+ %integer types.
+ */
+ //!@{
+ fixed_integer<Bits>& operator=(const fixed_integer<Bits>& c) { _attach(c);
+ return *this; }
+
+ bool operator!() const { return _is_zero(); }
+ fixed_integer<Bits> operator-() const { return negate(*this); }
+ fixed_integer<Bits>& operator+() { return *this; }
+ const fixed_integer<Bits>& operator+() const { return *this; }
+ fixed_integer<Bits> operator~() const;
+
+ fixed_integer<Bits>& operator+=(const fixed_integer_any& b);
+ fixed_integer<Bits>& operator-=(const fixed_integer_any& b);
+ fixed_integer<Bits>& operator*=(const fixed_integer_any& b);
+ fixed_integer<Bits>& operator/=(const fixed_integer_any& b);
+ fixed_integer<Bits>& operator%=(const fixed_integer_any& b);
+
+ fixed_integer<Bits>& operator++(); //!< \details Preincrement operator
+ fixed_integer<Bits>& operator--(); //!< \details Predecrement operator
+ fixed_integer<Bits> operator++(int); //!< \details Postincrement operator -- not recommended, inefficient
+ fixed_integer<Bits> operator--(int); //!< \details Postdecrement operator -- not recommended, inefficient
+
+ fixed_integer<Bits>& operator&=(const fixed_integer_any& n);
+ fixed_integer<Bits>& operator|=(const fixed_integer_any& n);
+ fixed_integer<Bits>& operator^=(const fixed_integer_any& n);
+ fixed_integer<Bits> operator<<(size_t shift) const;
+ fixed_integer<Bits> operator>>(size_t shift) const;
+ fixed_integer<Bits>& operator<<=(size_t shift);
+ fixed_integer<Bits>& operator>>=(size_t shift);
+ //!@}
+
+ typedef base_divide_t<fixed_integer<Bits> > divide_t;
+
+ private:
+ static const size_t _c_digits;
+ static const detail::digit_t _c_mask;
+ static boost::shared_ptr<detail::data_t> preallocated_zero;
+};
+
+template <size_t Bits> const size_t fixed_integer<Bits>::_c_digits =
+ (Bits + detail::bits_per_digit - 1) / detail::bits_per_digit;
+template <size_t Bits> const detail::digit_t fixed_integer<Bits>::_c_mask =
+ ((Bits % detail::bits_per_digit) == 0) ? detail::digit_mask
+ : ((detail::digit_t(1) << (Bits % detail::bits_per_digit)) - 1);
+template <size_t Bits> boost::shared_ptr<detail::data_t>
+ fixed_integer<Bits>::preallocated_zero(detail::allocate_fixed_zero(
+ fixed_integer<Bits>::_c_mask, fixed_integer<Bits>::_c_digits),
+ detail::deallocate);
+
+//! \name Mathematical primitives
+//!@{
+template <size_t Bits> fixed_integer<Bits> abs(const fixed_integer<Bits>& n);
+template <size_t Bits> fixed_integer<Bits> negate(const fixed_integer<Bits>& n);
+template <size_t Bits> fixed_integer<Bits> add(const fixed_integer<Bits>& n,
+ const fixed_integer<Bits>& addend);
+template <size_t Bits> fixed_integer<Bits> subtract(const fixed_integer<Bits>&
+ n, const fixed_integer<Bits>& subtrahend);
+template <size_t Bits> fixed_integer<Bits> multiply(const fixed_integer<Bits>&
+ n, const fixed_integer<Bits>& multiplicand);
+template <size_t Bits> fixed_integer<Bits> divide(const fixed_integer<Bits>&
+ dividend, const fixed_integer<Bits>& divisor);
+template <size_t Bits> typename fixed_integer<Bits>::divide_t divide_r(const
+ fixed_integer<Bits>& dividend, const fixed_integer<Bits>& divisor);
+//!@}
+
+//! \name Powers and roots
+//!@{
+template <size_t Bits>
+fixed_integer<Bits> sqr(const fixed_integer<Bits>& n);
+template <size_t Bits>
+fixed_integer<Bits> pow(const fixed_integer<Bits>& n, const
+ fixed_integer_any& exponent);
+template <size_t Bits>
+fixed_integer<Bits> fixed_pow2(size_t exponent);
+template <size_t Bits>
+fixed_integer<Bits> fixed_factorial(size_t n);
+template <size_t Bits>
+fixed_integer<Bits> sqrt(const fixed_integer<Bits>& n);
+//!@}
+
+//! \name Conversion functions
+//!@{
+template <size_t Bits, typename T> T to(const fixed_integer<Bits>& n);
+std::string to_string(const fixed_integer_any& n, size_t base=10, bool
+ uppercase=false);
+template <size_t Bits> fixed_integer<Bits> fixed_from_string(const
+ std::string& str, size_t base=10);
+template <size_t Bits> xint::binary_t to_binary(const fixed_integer_any& n,
+ size_t bits=0);
+template <size_t Bits> fixed_integer<Bits> fixed_from_binary(const
+ xint::binary_t& s, size_t bits=0);
+//!@}
+
+//! \name Bit-manipulation functions
+//!@{
+template <size_t Bits>
+bool getbit(const fixed_integer<Bits>& n, size_t bit);
+template <size_t Bits>
+void setbit(fixed_integer<Bits>& n, size_t bit);
+template <size_t Bits>
+void clearbit(fixed_integer<Bits>& n, size_t bit);
+template <size_t Bits>
+size_t lowestbit(const fixed_integer<Bits>& n, size_t valueIfZero=0);
+template <size_t Bits>
+size_t highestbit(const fixed_integer<Bits>& n, size_t valueIfZero=0);
+template <size_t Bits>
+fixed_integer<Bits> bitwise_and(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2);
+template <size_t Bits>
+fixed_integer<Bits> bitwise_or (const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2);
+template <size_t Bits>
+fixed_integer<Bits> bitwise_xor(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2);
+template <size_t Bits>
+fixed_integer<Bits> shift(const fixed_integer<Bits>& n, int byBits);
+template <size_t Bits>
+fixed_integer<Bits> shift_left(const fixed_integer<Bits>& n, size_t byBits);
+template <size_t Bits>
+fixed_integer<Bits> shift_right(const fixed_integer<Bits>& 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.
+*/
+//!@{
+template <size_t Bits>
+fixed_integer<Bits> mod(const fixed_integer<Bits>& n, const fixed_integer<Bits>&
+ modBy);
+template <size_t Bits>
+fixed_integer<Bits> mulmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& by, const fixed_integer<Bits>& modulus);
+template <size_t Bits>
+fixed_integer<Bits> sqrmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& modulus);
+template <size_t Bits>
+fixed_integer<Bits> powmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& exponent, const fixed_integer<Bits>& modulus,
+ bool noMontgomery=false);
+template <size_t Bits>
+fixed_integer<Bits> invmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& modulus);
+//!@}
+
+//! \name Random number functions
+//!@{
+template <size_t Bits>
+fixed_integer<Bits> fixed_random_by_size(size_t sizeInBits, bool highBitOn =
+ false, bool lowBitOn = false, bool canBeNegative = false);
+//!@}
+
+//! \name Prime number functions
+//!@{
+int is_prime(const fixed_integer_any& n, callback_t callback = no_callback);
+template <size_t Bits>
+fixed_integer<Bits> fixed_random_prime(size_t sizeInBits, callback_t callback =
+ no_callback);
+//!@}
+
+/*! \name Operators
+
+ These act exactly the same as for the built-in %integer types.
+*/
+//!@{
+#define BOOST_XINT_NFIXED typename boost::disable_if<boost::is_base_of<\
+ fixed_integer_any, T>, fixed_integer<Bits> >::type
+
+#define BOOST_XINT_FIXED_BINARY_FN(name, body) \
+template <size_t Bits> \
+fixed_integer<Bits> name(const fixed_integer<Bits>& op1, \
+ const fixed_integer<Bits>& op2) \
+{ \
+ fixed_integer<Bits> r; \
+ body(r, op1, op2); \
+ return BOOST_XINT_MOVE(r); \
+} \
+\
+template <size_t Bits, typename T> \
+BOOST_XINT_NFIXED name(const fixed_integer<Bits>& n1, const T& n2) { \
+ fixed_integer<Bits> r; \
+ body(r, n1, fixed_integer_any(n2)); \
+ return BOOST_XINT_MOVE(r); \
+} \
+\
+template <typename T, size_t Bits> \
+BOOST_XINT_NFIXED name(const T& n1, const fixed_integer<Bits>& n2) { \
+ fixed_integer<Bits> r; \
+ body(r, fixed_integer_any(n1), n2); \
+ return BOOST_XINT_MOVE(r); \
+}
+
+BOOST_XINT_FIXED_BINARY_FN(operator+, detail::add)
+BOOST_XINT_FIXED_BINARY_FN(operator-, detail::subtract)
+BOOST_XINT_FIXED_BINARY_FN(operator*, detail::multiply)
+BOOST_XINT_FIXED_BINARY_FN(operator/, detail::divide)
+BOOST_XINT_FIXED_BINARY_FN(operator%, detail::mod)
+BOOST_XINT_FIXED_BINARY_FN(operator&, detail::bitwise_and)
+BOOST_XINT_FIXED_BINARY_FN(operator|, detail::bitwise_or)
+BOOST_XINT_FIXED_BINARY_FN(operator^, detail::bitwise_xor)
+
+bool operator==(const fixed_integer_any &num1, const fixed_integer_any &num2);
+bool operator!=(const fixed_integer_any& num1, const fixed_integer_any& num2);
+bool operator<(const fixed_integer_any& num1, const fixed_integer_any& num2);
+bool operator>(const fixed_integer_any& num1, const fixed_integer_any& num2);
+bool operator<=(const fixed_integer_any& num1, const fixed_integer_any& num2);
+bool operator>=(const fixed_integer_any& num1, const fixed_integer_any& num2);
+//!@}
+
+//! \name Miscellaneous functions
+//!@{
+int compare(const fixed_integer_any& c1, const fixed_integer_any& c2, bool
+ ignoresign=false);
+size_t log2(const fixed_integer_any& n);
+template <size_t Bits>
+fixed_integer<Bits> gcd(const fixed_integer<Bits>& num1, const
+ fixed_integer<Bits>& num2);
+template <size_t Bits>
+fixed_integer<Bits> lcm(const fixed_integer<Bits>& num1, const
+ fixed_integer<Bits>& num2);
+//!@}
+
+////////////////////////////////////////////////////////////////////////////////
+// fixed_integer member function definitions
+
+//! \brief Creates a new fixed_integer with an initial value of zero.
+template <size_t Bits>
+fixed_integer<Bits>::fixed_integer(): fixed_integer_any(preallocated_zero.get())
+{ }
+
+/*! \brief Creates a copy of an existing fixed_integer with the same size.
+
+\param[in] b An existing integer of the same size.
+
+\overload
+*/
+template <size_t Bits>
+fixed_integer<Bits>::fixed_integer(const fixed_integer<Bits>& b):
+ fixed_integer_any(b) { }
+
+/*! \brief Converts an existing xint type.
+
+\param[in] b An existing integer, nothrow_integer, or fixed_integer of a
+different size.
+
+\overload
+
+\note If the number represented by the parameter is too large to fit into the
+fixed_integer, it is silently truncated, and only the lower bits are preserved.
+*/
+template <size_t Bits>
+fixed_integer<Bits>::fixed_integer(const base_integer& b):
+ fixed_integer_any(preallocated_zero.get())
+{
+ if (b._is_nan()) throw exceptions::not_a_number();
+ _attach(b);
+}
+
+/*! \copydoc integer::integer(const std::string&, size_t)
+
+\note If the number represented by the parameter is too large to fit into the
+fixed_integer, it is silently truncated, and only the lower bits are preserved.
+*/
+template <size_t Bits>
+fixed_integer<Bits>::fixed_integer(const std::string& str, size_t base):
+ fixed_integer_any(_c_digits, _c_mask)
+{
+ detail::from_string(*this, str, base);
+}
+
+/*!
+Constructs a new fixed_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
+
+\note If the number represented by the parameter is too large to fit into the
+fixed_integer, it is silently truncated, and only the lower bits are preserved.
+*/
+template <size_t Bits>
+template <typename T>
+fixed_integer<Bits>::fixed_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_signed<T> >::type*):
+ fixed_integer_any(_c_digits, _c_mask)
+{
+ _set_signed(n);
+}
+
+/*!
+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
+
+\note If the number represented by the parameter is too large to fit into the
+fixed_integer, it is silently truncated, and only the lower bits are preserved.
+*/
+template <size_t Bits>
+template <typename T>
+fixed_integer<Bits>::fixed_integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_unsigned<T> >::type*):
+ fixed_integer_any(_c_digits, _c_mask)
+{
+ _set_unsigned(n);
+}
+
+//! \copydoc integer::odd
+template <size_t Bits>
+bool fixed_integer<Bits>::odd() const {
+ return (_get_digit(0) & 0x01) != 0;
+}
+
+//! \copydoc integer::even
+template <size_t Bits>
+bool fixed_integer<Bits>::even() const {
+ return (_get_digit(0) & 0x01) == 0;
+}
+
+//! \copydoc integer::sign
+template <size_t Bits>
+int fixed_integer<Bits>::sign(bool signed_zero) const {
+ if (!signed_zero && _is_zero()) return 0;
+ else return (_get_negative() ? -1 : 1);
+}
+
+//! \copydoc integer::hex_digits
+template <size_t Bits>
+size_t fixed_integer<Bits>::hex_digits() const {
+ size_t bits=_log2();
+ return (bits+3)/4; // Four bits per hex digit, rounded up
+}
+
+/*! \brief The Bitwise Ones' Complement (i.e. bitwise NOT) operator.
+
+This operator does not exist in the integer and nothrow_integer classes, because
+as their lengths are not limited, it would result in an infinitely long number.
+*/
+template <size_t Bits>
+fixed_integer<Bits> fixed_integer<Bits>::operator~() const {
+ fixed_integer<Bits> r(*this);
+ r._make_unique();
+ detail::digit_t *p = r._get_writable_digits(), *pe1 = p + r._get_length(),
+ *pe2 = p + _c_digits;
+ while (p != pe1) { *p = ~(*p); ++p; }
+ while (p != pe2) *p++ = detail::digit_mask;
+ r._set_length(_c_digits);
+ r._cleanup();
+ return BOOST_XINT_MOVE(r);
+}
+
+#define BOOST_XINT_FIXED_OPEQ_FN(name, body) \
+template <size_t Bits> \
+fixed_integer<Bits>& fixed_integer<Bits>::name(const fixed_integer_any& n) { \
+ body(*this, *this, n); \
+ return *this; \
+}
+
+BOOST_XINT_FIXED_OPEQ_FN(operator+=, detail::add)
+BOOST_XINT_FIXED_OPEQ_FN(operator-=, detail::subtract)
+BOOST_XINT_FIXED_OPEQ_FN(operator*=, detail::multiply)
+BOOST_XINT_FIXED_OPEQ_FN(operator/=, detail::divide)
+BOOST_XINT_FIXED_OPEQ_FN(operator%=, detail::mod)
+
+template <size_t Bits>
+fixed_integer<Bits>& fixed_integer<Bits>::operator<<=(size_t shift) {
+ detail::shift_left(*this, *this, shift);
+ return *this;
+}
+
+template <size_t Bits>
+fixed_integer<Bits>& fixed_integer<Bits>::operator>>=(size_t shift) {
+ detail::shift_right(*this, *this, shift);
+ return *this;
+}
+
+template <size_t Bits>
+fixed_integer<Bits> fixed_integer<Bits>::operator<<(size_t shift) const {
+ fixed_integer<Bits> r;
+ detail::shift_left(r, *this, shift);
+ return BOOST_XINT_MOVE(r);
+}
+
+template <size_t Bits>
+fixed_integer<Bits> fixed_integer<Bits>::operator>>(size_t shift) const {
+ fixed_integer<Bits> r;
+ detail::shift_right(r, *this, shift);
+ return BOOST_XINT_MOVE(r);
+}
+
+template <size_t Bits>
+fixed_integer<Bits>& fixed_integer<Bits>::operator++() {
+ _increment();
+ return *this;
+}
+
+template <size_t Bits>
+fixed_integer<Bits>& fixed_integer<Bits>::operator--() {
+ _decrement();
+ return *this;
+}
+
+template <size_t Bits>
+fixed_integer<Bits> fixed_integer<Bits>::operator++(int) {
+ fixed_integer<Bits> old(*this);
+ _increment();
+ return BOOST_XINT_MOVE(old);
+}
+
+template <size_t Bits>
+fixed_integer<Bits> fixed_integer<Bits>::operator--(int) {
+ fixed_integer<Bits> old(*this);
+ _decrement();
+ return BOOST_XINT_MOVE(old);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// Non-member fixed_integer function definitions
+
+//! \copydoc abs(const integer&)
+template <size_t Bits>
+fixed_integer<Bits> abs(const fixed_integer<Bits>& n) {
+ if (n._get_negative()) {
+ fixed_integer<Bits> r(n);
+ r._set_negative(false);
+ return BOOST_XINT_MOVE(r);
+ } else return n;
+}
+
+//! \copydoc negate(const integer&)
+template <size_t Bits>
+fixed_integer<Bits> negate(const fixed_integer<Bits>& n) {
+ fixed_integer<Bits> r(n);
+ r._set_negative(!r._get_negative());
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc add(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> add(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2)
+{
+ fixed_integer<Bits> r;
+ detail::add(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc subtract(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> subtract(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2)
+{
+ fixed_integer<Bits> r;
+ detail::subtract(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc multiply(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> multiply(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& by)
+{
+ fixed_integer<Bits> r;
+ detail::multiply(r, n, by);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc divide(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> divide(const fixed_integer<Bits>& dividend,
+ const fixed_integer<Bits>& divisor)
+{
+ fixed_integer<Bits> q, r;
+ detail::divide(q, r, dividend, divisor);
+ return BOOST_XINT_MOVE(q);
+}
+
+//! \copydoc divide(const integer&, const integer&)
+template <size_t Bits>
+typename fixed_integer<Bits>::divide_t divide_r(const fixed_integer<Bits>&
+ dividend, const fixed_integer<Bits>& divisor)
+{
+ fixed_integer<Bits> q, r;
+ detail::divide(q, r, dividend, divisor);
+ return BOOST_XINT_FORWARD(fixed_integer<Bits>::divide_t,
+ fixed_integer<Bits>::divide_t(BOOST_XINT_MOVE(q), BOOST_XINT_MOVE(r)));
+}
+
+//! \copydoc sqr(const integer&)
+template <size_t Bits>
+fixed_integer<Bits> sqr(const fixed_integer<Bits>& n) {
+ fixed_integer<Bits> r;
+ detail::sqr(r, n);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc pow(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> pow(const fixed_integer<Bits>& n, const
+ fixed_integer_any& e)
+{
+ fixed_integer<Bits> r;
+ detail::pow(r, n, e);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc pow2(size_t)
+template <size_t Bits>
+fixed_integer<Bits> fixed_pow2(size_t e) {
+ fixed_integer<Bits> r;
+ setbit(r, e);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc factorial(size_t)
+template <size_t Bits>
+fixed_integer<Bits> fixed_factorial(size_t n) {
+ fixed_integer<Bits> r;
+ detail::factorial(r, n);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc sqrt(const integer&)
+template <size_t Bits>
+fixed_integer<Bits> sqrt(const fixed_integer<Bits>& n) {
+ fixed_integer<Bits> r;
+ detail::sqrt(r, n);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc to(const integer&)
+template <size_t Bits, typename T>
+T to(const fixed_integer<Bits>& n) {
+ return detail::to<T>(n);
+}
+
+//! \copydoc from_string
+template <size_t Bits>
+fixed_integer<Bits> fixed_from_string(const std::string& str, size_t base) {
+ fixed_integer<Bits> r;
+ detail::from_string(r, str, base);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc to_binary(const integer&, size_t bits)
+template <size_t Bits>
+xint::binary_t to_binary(const fixed_integer_any& n, size_t bits) {
+ xint::binary_t r;
+ detail::to_binary(r, n, bits);
+ return r;
+}
+
+//! \copydoc from_binary
+template <size_t Bits>
+fixed_integer<Bits> fixed_from_binary(const xint::binary_t& b, size_t bits) {
+ fixed_integer<Bits> r;
+ detail::from_binary(r, b, bits);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc getbit(const integer&, size_t)
+template <size_t Bits>
+bool getbit(const fixed_integer<Bits>& n, size_t bit) {
+ return detail::getbit(n, bit);
+}
+
+//! \copydoc setbit(integer&, size_t)
+template <size_t Bits>
+void setbit(fixed_integer<Bits>& n, size_t bit) {
+ return detail::setbit(n, bit);
+}
+
+//! \copydoc clearbit(integer&, size_t)
+template <size_t Bits>
+void clearbit(fixed_integer<Bits>& n, size_t bit) {
+ return detail::clearbit(n, bit);
+}
+
+//! \copydoc lowestbit(const integer&, size_t)
+template <size_t Bits>
+size_t lowestbit(const fixed_integer<Bits>& n, size_t valueIfZero) {
+ return detail::lowestbit(n, valueIfZero);
+}
+
+//! \copydoc highestbit(const integer&, size_t)
+template <size_t Bits>
+size_t highestbit(const fixed_integer<Bits>& n, size_t valueIfZero) {
+ return detail::highestbit(n, valueIfZero);
+}
+
+//! \copydoc bitwise_and(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> bitwise_and(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2)
+{
+ fixed_integer<Bits> r;
+ detail::bitwise_and(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc bitwise_or(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> bitwise_or (const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2)
+{
+ fixed_integer<Bits> r;
+ detail::bitwise_or(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc bitwise_xor(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> bitwise_xor(const fixed_integer<Bits>& n1, const
+ fixed_integer<Bits>& n2)
+{
+ fixed_integer<Bits> r;
+ detail::bitwise_xor(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc shift(const integer&, int)
+template <size_t Bits>
+fixed_integer<Bits> shift(const fixed_integer<Bits>& n, int byBits) {
+ return (byBits < 0 ? shift_right(n, -byBits) : shift_left(n, byBits));
+}
+
+//! \copydoc shift_left(const integer&, size_t)
+template <size_t Bits>
+fixed_integer<Bits> shift_left(const fixed_integer<Bits>& n, size_t byBits) {
+ fixed_integer<Bits> r;
+ detail::shift_left(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc shift_right(const integer&, size_t)
+template <size_t Bits>
+fixed_integer<Bits> shift_right(const fixed_integer<Bits>& n, size_t byBits) {
+ fixed_integer<Bits> r;
+ detail::shift_right(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
+}
+
+template <size_t Bits>
+fixed_integer<Bits> mod(const fixed_integer<Bits>& n, const fixed_integer<Bits>&
+ m)
+{
+ fixed_integer<Bits> r;
+ detail::mod(r, n, m);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc mulmod(const integer&, const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> mulmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& by, const fixed_integer<Bits>& m)
+{
+ return mod(n * by, m);
+}
+
+//! \copydoc sqrmod(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> sqrmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& m)
+{
+ return mod(sqr(n), m);
+}
+
+//! \copydoc powmod(const integer&, const integer&, const integer&, bool)
+template <size_t Bits>
+fixed_integer<Bits> powmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& e, const fixed_integer<Bits>& m, bool noMontgomery)
+{
+ fixed_integer<Bits> r;
+ detail::powmod(r, n, e, m, noMontgomery);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc invmod(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> invmod(const fixed_integer<Bits>& n, const
+ fixed_integer<Bits>& m)
+{
+ fixed_integer<Bits> r;
+ detail::invmod(r, n, m);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc random_by_size
+template <size_t Bits>
+fixed_integer<Bits> fixed_random_by_size(size_t bits, bool high_bit_on, bool
+ low_bit_on, bool can_be_negative)
+{
+ return fixed_integer<Bits>(random_by_size((std::min)(Bits, bits),
+ high_bit_on, low_bit_on, can_be_negative));
+}
+
+//! \copydoc random_prime
+template <size_t Bits>
+fixed_integer<Bits> fixed_random_prime(size_t size_in_bits, callback_t callback)
+{
+ fixed_integer<Bits> r(random_prime((std::min)(Bits, size_in_bits), callback));
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc gcd(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> gcd(const fixed_integer<Bits>& num1, const
+ fixed_integer<Bits>& num2)
+{
+ fixed_integer<Bits> r;
+ detail::gcd(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \copydoc lcm(const integer&, const integer&)
+template <size_t Bits>
+fixed_integer<Bits> lcm(const fixed_integer<Bits>& num1, const
+ fixed_integer<Bits>& num2)
+{
+ fixed_integer<Bits> r;
+ detail::lcm(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
+}
+
+//! \name Stream input/output functions
+//!@{
+template <typename charT, typename traits, size_t Bits>
+inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
+ traits>& out, const fixed_integer<Bits>& n)
+{
+ return detail::operator<<(out, n);
+}
+
+template <typename charT, typename traits, size_t Bits>
+inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
+ traits>& in, fixed_integer<Bits>& n)
+{
+ return detail::operator>>(in, n);
+}
+//!@}
+
+// No 100% compatible way to declare a specialization of a function template
+// using a templated class, as far as I can tell. This is the second-best
+// solution.
+template<size_t Bits>
+void swap(fixed_integer<Bits>& left, fixed_integer<Bits>& right) {
+ left._swap(right);
+}
+
+} // namespace xint
+} // namespace boost
+
+namespace std {
+
+template<size_t Bits>
+class numeric_limits<boost::xint::fixed_integer<Bits> > {
+ public:
+ static const bool is_specialized = true;
+
+ static boost::xint::fixed_integer<Bits> min() throw() { return
+ -~(boost::xint::fixed_integer<Bits>()); }
+ static boost::xint::fixed_integer<Bits> max() throw() { return
+ ~(boost::xint::fixed_integer<Bits>()); }
+
+ static const int digits = Bits;
+ static const int digits10; // = boost::xint::fixed_integer<Bits>::_c_log10;
+ 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::fixed_integer<Bits> epsilon() throw() { return 0; }
+ static boost::xint::fixed_integer<Bits> 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::fixed_integer<Bits> infinity() throw() { return 0; } // Not applicable
+ static boost::xint::fixed_integer<Bits> quiet_NaN() throw() { return 0; } // Not applicable
+ static boost::xint::fixed_integer<Bits> signaling_NaN() throw() { return 0; } // Not applicable
+ static boost::xint::fixed_integer<Bits> denorm_min() throw() { return 0; } // Not applicable
+
+ static const bool is_iec559 = false;
+ static const bool is_bounded = true;
+ static const bool is_modulo = true;
+
+ 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
+};
+
+template<size_t Bits>
+const int numeric_limits<boost::xint::fixed_integer<Bits> >::digits10 =
+ static_cast<int>(boost::xint::detail::log10_bits(Bits));
+
+} // namespace std
+
+#endif // BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP

Modified: sandbox/xint/boost/xint/integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/integer.hpp (original)
+++ sandbox/xint/boost/xint/integer.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -19,8 +19,6 @@
 #define BOOST_INCLUDED_XINT_INTEGER_HPP
 
 #include "internals.hpp"
-#include "exceptions.hpp"
-#include <boost/type_traits.hpp>
 
 namespace boost {
 namespace xint {
@@ -31,19 +29,17 @@
 
     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 {
+class integer: public detail::base_variable_length_integer {
     public:
 
     //! \name Constructors & Destructors
     //!@{
     integer();
     integer(const integer& b);
+ integer(BOOST_XINT_RV_REF(integer) b) { _swap(b); }
     explicit integer(const nothrow_integer& b);
+ explicit integer(const fixed_integer_any& 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,
@@ -61,7 +57,15 @@
         a fixed maximum size, there is no logical way to implement it.
     */
     //@{
- integer& operator=(const integer &c);
+ integer& operator=(BOOST_XINT_COPY_ASSIGN_REF(integer) c);
+ integer& operator=(BOOST_XINT_RV_REF(integer) c) { _swap(c); return *this; }
+ template <typename T> integer& operator=(const T& n) { integer nn(n);
+ _swap(nn); return *this; }
+
+ bool operator!() const { return _is_zero(); }
+ integer operator-() const;
+ integer& operator+() { return *this; }
+ const integer& operator+() const { return *this; }
 
     integer& operator+=(const integer& b);
     integer& operator-=(const integer& b);
@@ -103,13 +107,10 @@
     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();
- //@}
+ typedef base_divide_t<integer> divide_t;
+
+ private:
+ BOOST_XINT_COPYABLE_AND_MOVABLE(integer)
 };
 
 //! \name Mathematical primitives
@@ -120,8 +121,7 @@
 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);
+integer::divide_t divide_r(const integer& dividend, const integer& divisor);
 //!@}
 
 //! \name Powers and roots
@@ -138,8 +138,8 @@
 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);
+xint::binary_t to_binary(const integer& n, size_t bits=0);
+integer from_binary(const xint::binary_t& b, size_t bits=0);
 //!@}
 
 //! \name Bit-manipulation functions
@@ -188,7 +188,6 @@
     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);
@@ -196,8 +195,6 @@
 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);
@@ -235,20 +232,7 @@
     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);
- }
+ _set_signed(n);
 }
 
 /*!
@@ -267,15 +251,13 @@
     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));
+ _set_unsigned(n);
 }
 
 /*! \brief Efficiently converts from an xint::integer to a built-in %integer
            type.
 
-\param[in] n The integer to convert.
+\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.
@@ -284,18 +266,7 @@
 */
 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;
+ return detail::to<T>(n);
 }
 
 //! \name Stream input/output functions
@@ -304,88 +275,21 @@
 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;
+ return detail::operator<<(out, n);
 }
 
 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;
+ return detail::operator>>(in, n);
 }
 //!@}
 
+inline void swap(integer& left, integer& right) {
+ left._swap(right);
+}
+
 } // namespace xint
 } // namespace boost
 

Modified: sandbox/xint/boost/xint/internals.hpp
==============================================================================
--- sandbox/xint/boost/xint/internals.hpp (original)
+++ sandbox/xint/boost/xint/internals.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -21,6 +21,8 @@
 #define BOOST_INCLUDED_XINT_INTERNALS_HPP
 
 #include <string>
+#include <vector>
+#include <queue>
 #include <limits>
 #include <cstddef> // for size_t
 #include <iostream>
@@ -28,12 +30,58 @@
 #include <boost/integer.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/function.hpp>
+#include <boost/type_traits.hpp>
+
+#ifdef XINT_THREADSAFE
+ #define BOOST_XINT_USE_MOVE
+#endif
+
+#ifdef BOOST_XINT_USE_MOVE
+ #include <boost/move/move.hpp>
+ #define BOOST_XINT_COPY_ASSIGN_REF(type) BOOST_COPY_ASSIGN_REF(type)
+ #define BOOST_XINT_COPYABLE_AND_MOVABLE(type) BOOST_COPYABLE_AND_MOVABLE(type)
+ #define BOOST_XINT_RV_REF(type) BOOST_RV_REF(type)
+ #define BOOST_XINT_MOVE(value) boost::move(value)
+ #define BOOST_XINT_FORWARD(type, value) boost::forward<type>(value)
+#else
+ template <typename T> class disable_boost_rv_ref: public T { };
+ #define BOOST_XINT_COPY_ASSIGN_REF(type) const type&
+ #define BOOST_XINT_COPYABLE_AND_MOVABLE(type)
+ #define BOOST_XINT_RV_REF(type) disable_boost_rv_ref<type>
+ #define BOOST_XINT_MOVE(value) value
+ #define BOOST_XINT_FORWARD(type, value) value
+#endif
 
 namespace boost {
 
 //! \brief All the types and functions of the library are within this namespace.
 namespace xint {
 
+class integer;
+class nothrow_integer;
+class fixed_integer_any;
+template <size_t Bits> class fixed_integer;
+
+//! A callback function takes no parameters and returns a bool.
+//! \see xint::is_prime
+//! \see xint::random_prime
+typedef boost::function<bool ()> callback_t;
+
+//! The format for the binary representations of %integers.
+//! \see xint::to_binary
+//! \see xint::from_binary
+typedef std::vector<unsigned char> binary_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)();
+
 //! \brief The items within this namespace are meant for internal use only.
 namespace detail {
 
@@ -55,6 +103,9 @@
 //! \name Some constants used by the library.
 //!@{
 const size_t bits_per_digit = std::numeric_limits<digit_t>::digits;
+const size_t digits_in_uintmax =
+ (std::numeric_limits<boost::uintmax_t>::digits + bits_per_digit - 1) /
+ bits_per_digit;
 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);
@@ -65,23 +116,31 @@
 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];
+ digit_t fixed_mask; //!< For the topmost digit; zero for variable-sized
+ digit_t magnitude[1];
 };
 
-//! \name The variable-length data_t functions.
+//! \name The data_t functions.
 //!@{
-data_t<> *allocate(size_t max_digits, size_t initial_length=
+void zero(digit_t *p, digit_t *end);
+void zero(digit_t *p, size_t size);
+data_t *allocate(size_t max_digits, size_t initial_length=
+ (std::numeric_limits<size_t>::max)(), digit_t fixed_mask=0);
+data_t *allocate_fixed(digit_t mask, 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);
+data_t *allocate_fixed_zero(digit_t mask, size_t max_digits);
+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 temp_t;
+class base_variable_length_integer;
+
+//! \brief The base class for all integer classes.
 class base_integer {
     public:
     ~base_integer();
@@ -90,62 +149,196 @@
     //@{
     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();
+ detail::digit_t* _get_writable_digits();
     const detail::digit_t* _get_digits() const; //!< \overload
+
     size_t _get_length() const;
+ size_t _get_max_length() const;
+ void _set_length(size_t digits);
+
+ size_t _log2() const;
+
+ bool _is_nan() const { return (data==0); };
     bool _is_unique() const;
     bool _is_zero() const;
+
+ bool _is_fixed() const;
+ size_t _fixed_digits() const;
+ size_t _fixed_bits() const;
+
+ bool _get_readonly() const;
     bool _get_negative() const;
     void _set_negative(bool neg);
- void _cleanup();
+ void _toggle_negative();
+
     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 _cleanup();
+ void _attach(const base_integer& copy);
+
+ void _increment(bool absolute_value=false);
+ void _decrement(bool absolute_value=false);
     void _add(const base_integer& n);
     void _subtract(const base_integer& n);
+
+ integer _to_integer() const;
+ void _set_signed(boost::intmax_t n);
+ void _set_unsigned(boost::uintmax_t n, bool negative=false);
+
+ void _make_unique();
+ void _swap(base_integer& other);
     //@}
 
     protected:
- base_integer(): fixed_mask(0), negative(false), data(0) { }
- base_integer(size_t count, digit_t mask, void *d);
+ typedef unsigned int flag_t;
 
- 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);
+ base_integer();
+ base_integer(const base_integer& c, bool fixed);
+ explicit base_integer(data_t *adopt, bool neg=false);
+ base_integer(size_t count, digit_t mask);
+ void _base_attach(data_t *new_data, flag_t flags=0, size_t
+ extra_allocation=0);
+
+ void _set_readonly();
+
+ protected:
+ static const flag_t flag_negative = 0x01;
+ static const flag_t flag_readonly = 0x02;
+ static const flag_t flag_fixedlength = 0x04;
+
+ private:
+ flag_t flags;
+ data_t *data;
+
+ friend class temp_t;
+ friend class base_variable_length_integer;
+};
+
+//! \brief Makes a temporary integer that can always share storage.
+class temp_t: public base_integer {
+ public:
+ explicit temp_t(const base_integer& b) {
+ flags = b.flags;
+ data = b.data;
+ ++data->copies;
+ }
+
+ //! Constructs an empty integer of the same type as the one passed in.
+ temp_t(const base_integer& b, size_t realloc_size):
+ base_integer(b._is_fixed()
+ ? allocate_fixed(b.data->fixed_mask, b._fixed_digits(), realloc_size)
+ : allocate(realloc_size)) { }
+};
+
+//! \brief Makes a negated temporary integer that can always share storage.
+class neg_t: public temp_t {
+ public:
+ explicit neg_t(const base_integer& b): temp_t(b) {
+ _toggle_negative();
+ }
+};
+
+//! \brief The base class for the variable-length integer classes.
+class base_variable_length_integer: public base_integer {
+ protected:
     void _attach_0();
- void _attach_1(digit_t n);
- void _attach_n(boost::uintmax_t n);
- void _set_n(boost::uintmax_t n);
+};
+
+//! \brief Used internally to reorder bits into different-sized groupings.
+class bitqueue_t {
+ public:
+ bitqueue_t(): bits_pending(0) { }
+ void push(doubledigit_t bits, size_t count);
+ doubledigit_t pop(size_t requestedbits);
+ bool empty() const { return pending.empty(); }
+ size_t size() const { return bits_pending; }
 
     private:
- digit_t fixed_mask; //!< For the topmost digit; zero for variable-sized
+ static const size_t ddbits = std::numeric_limits<doubledigit_t>::digits;
+ typedef std::pair<doubledigit_t, size_t> indata_t;
+ typedef std::queue<indata_t> inqueue_t;
 
- bool negative;
- data_t<> *data;
+ size_t bits_pending;
+ inqueue_t pending;
 };
 
+int compare(const base_integer &b1, const base_integer &b2, bool
+ ignoresign=false);
+std::string to_string(const base_integer& n, size_t base, bool uppercase);
+void from_string(base_integer& target, const std::string& str, size_t base);
+void add(base_integer& target, const base_integer& n1, const base_integer& n2);
+void subtract(base_integer& target, const base_integer& n1, const base_integer&
+ n2);
+void multiply(base_integer& target, const base_integer& n1, const base_integer&
+ n2);
+void divide(base_integer& qtarget, base_integer& rtarget, const base_integer&
+ n1, const base_integer& n2);
+void divide(base_integer& target, const base_integer& n1, const base_integer&
+ n2);
+void sqr(base_integer& target, const base_integer& n);
+void pow(base_integer& target, const base_integer& n, const base_integer& e);
+void factorial(base_integer& target, size_t n);
+void sqrt(base_integer& target, const base_integer& n);
+bool getbit(const base_integer& n, size_t bit);
+void setbit(base_integer& n, size_t bit);
+void clearbit(base_integer& n, size_t bit);
+size_t lowestbit(const base_integer& n, size_t valueIfZero);
+size_t highestbit(const base_integer& n, size_t valueIfZero);
+void bitwise_and(base_integer& target, const base_integer& n1, const
+ base_integer& n2);
+void bitwise_or(base_integer& target, const base_integer& n1, const
+ base_integer& n2);
+void bitwise_xor(base_integer& target, const base_integer& n1, const
+ base_integer& n2);
+void shift_left(base_integer& target, const base_integer& n, size_t byBits);
+void shift_right(base_integer& target, const base_integer& n, size_t byBits);
+void to_binary(xint::binary_t& target, const base_integer& n, size_t bits);
+void from_binary(base_integer& target, const xint::binary_t& s, size_t bits);
+void gcd(base_integer& target, const base_integer& num1, const base_integer&
+ num2);
+void lcm(base_integer& target, const base_integer& num1, const base_integer&
+ num2);
+void mod(base_integer& target, const base_integer& n1, const base_integer&
+ n2);
+void invmod(base_integer& target, const base_integer& n, const base_integer& m);
+void powmod(base_integer& target, const base_integer& n, const base_integer& e,
+ const base_integer& m, bool noMontgomery);
+
+size_t log10_bits(size_t bits);
+
 } // 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;
+/*! \brief The base class for all fixed_integer types.
 
-//! 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;
+This class eases operations on different-sized fixed_integer types.
+*/
+class fixed_integer_any: public detail::base_integer {
+ public:
+ /*! \name Automatic conversion operators.
 
-//! 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)();
+ These allow the compiler to create a temporary fixed_integer, of the
+ size of boost::uintmax_t, for proper comparisons between fixed_integer
+ types and literals. They shouldn't be used for any other purposes.
+ */
+ template <typename T> fixed_integer_any(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_signed<T> >::type* = 0):
+ base_integer(detail::digits_in_uintmax, detail::digit_mask)
+ { _set_signed(n); }
+
+ template <typename T> fixed_integer_any(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_unsigned<T> >::type* = 0):
+ base_integer(detail::digits_in_uintmax, detail::digit_mask)
+ { _set_unsigned(n); }
 
-class integer;
-class nothrow_integer;
-template <size_t bits> class fixed_integer;
+ protected:
+ fixed_integer_any(size_t count, detail::digit_t mask):
+ base_integer(count, mask) { }
+ explicit fixed_integer_any(detail::data_t *adopt, bool neg=false):
+ base_integer(adopt, neg) { }
+ explicit fixed_integer_any(const fixed_integer_any& c):
+ base_integer(c, true) { }
+};
 
 //! \name Miscellaneous functions
 //!@{
@@ -153,6 +346,176 @@
 bool opt_thread_safe();
 //!@}
 
+/*! \brief Holds the results from a division-with-remainder call.
+
+This class serves essentially the same purpose as an \c std::pair. The only
+reason it exists is that \c std::pair doesn't work well with Boost.Move on some
+compilers.
+*/
+template <class T>
+class base_divide_t {
+ public:
+ base_divide_t() { }
+ base_divide_t(const T& q, const T& r): quotient(q), remainder(r) { }
+ base_divide_t(const base_divide_t<T>& copy):
+ quotient(copy.quotient), remainder(copy.remainder) { }
+ base_divide_t(BOOST_XINT_RV_REF(base_divide_t) move) {
+ quotient._swap(move.quotient); remainder._swap(move.remainder); }
+
+ base_divide_t& operator=(BOOST_XINT_COPY_ASSIGN_REF(base_divide_t) copy)
+ { quotient = copy.quotient; remainder = copy.remainder; return
+ *this; }
+ base_divide_t& operator=(BOOST_XINT_RV_REF(base_divide_t) move) {
+ quotient._swap(move.quotient); remainder._swap(move.remainder); return
+ *this; }
+
+ T quotient, remainder;
+
+ private:
+ BOOST_XINT_COPYABLE_AND_MOVABLE(base_divide_t)
+};
+
+} // namespace xint
+} // namespace boost
+
+////////////////////////////////////////////////////////////////////////////////
+// Template functions
+
+#include "exceptions.hpp"
+
+namespace boost {
+namespace xint {
+namespace detail {
+
+template <typename T>
+size_t log2(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_unsigned<T> >::type* = 0)
+{
+ size_t lo=0, hi=std::numeric_limits<T>::digits;
+ while (lo < hi) {
+ size_t s = lo + ((hi - lo) >> 1);
+ if (n >= (T(1) << s)) lo = s + 1;
+ else hi = s;
+ }
+ return lo;
+}
+
+template <typename T>
+size_t log2(const T& nn,
+ typename boost::enable_if<boost::is_integral<T> >::type* = 0,
+ typename boost::enable_if<boost::is_signed<T> >::type* = 0)
+{
+ typedef typename boost::make_unsigned<T>::type uT;
+ return log2(static_cast<uT>(nn < 0 ? -nn : nn));
+}
+
+template <typename T>
+T to(const base_integer& n) {
+ if (compare(n, fixed_integer_any((std::numeric_limits<T>::min)())) < 0
+ || compare(n, fixed_integer_any((std::numeric_limits<T>::max)())) > 0)
+ 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) {
+ if (sizeof(T) > sizeof(detail::digit_t)) rval <<= detail::bits_per_digit;
+ rval += static_cast<T>(n._get_digit(len - x - 1));
+ }
+ if (n._get_negative()) rval = -rval; // Bogus MSVC warning C4146
+ return rval;
+}
+
+template <typename charT, typename traits>
+inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
+ traits>& out, const base_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._is_zero() ? 0 : n._get_negative() ? -1 : 1);
+ 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";
+
+ if (n._get_negative()) {
+ out << to_string(neg_t(n), base, upperCase);
+ } else {
+ out << to_string(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, base_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 {
+ detail::from_string(n, s, base);
+ } catch (std::exception&) {
+ // Catch invalid strings
+ in.setstate(std::ios::failbit);
+ }
+
+ return in;
+}
+
+} // namespace detail
 } // namespace xint
 } // namespace boost
 

Modified: sandbox/xint/boost/xint/nothrow_integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/nothrow_integer.hpp (original)
+++ sandbox/xint/boost/xint/nothrow_integer.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -18,9 +18,7 @@
 #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 {
@@ -32,19 +30,17 @@
 
     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 {
+class nothrow_integer: public detail::base_variable_length_integer {
     public:
 
     //! \name Constructors & Destructors
     //!@{
     nothrow_integer();
     nothrow_integer(const nothrow_integer& b);
- nothrow_integer(const integer& b);
+ nothrow_integer(BOOST_XINT_RV_REF(nothrow_integer) b) { _swap(b); }
+ explicit nothrow_integer(const integer& b);
+ explicit nothrow_integer(const fixed_integer_any& 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,
@@ -63,7 +59,16 @@
         it.
     */
     //@{
- nothrow_integer& operator=(const nothrow_integer &c);
+ nothrow_integer& operator=(BOOST_XINT_COPY_ASSIGN_REF(nothrow_integer) c);
+ nothrow_integer& operator=(BOOST_XINT_RV_REF(nothrow_integer) c) { _swap(c);
+ return *this; }
+ template <typename T> nothrow_integer& operator=(const T& n) {
+ nothrow_integer nn(n); _swap(nn); return *this; }
+
+ bool operator!() const { return _is_zero(); }
+ nothrow_integer operator-() const;
+ nothrow_integer& operator+() { return *this; }
+ const nothrow_integer& operator+() const { return *this; }
 
     nothrow_integer& operator+=(const nothrow_integer& b);
     nothrow_integer& operator-=(const nothrow_integer& b);
@@ -107,13 +112,13 @@
     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();
- //@}
+ //! \brief For internal use only.
+ void _make_unique(bool);
+
+ typedef base_divide_t<nothrow_integer> divide_t;
+
+ private:
+ BOOST_XINT_COPYABLE_AND_MOVABLE(nothrow_integer)
 };
 
 //! \name Mathematical primitives
@@ -127,8 +132,8 @@
     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);
+nothrow_integer::divide_t divide_r(const nothrow_integer& dividend, const
+ nothrow_integer& divisor);
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -150,8 +155,8 @@
 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);
+xint::binary_t to_binary(const nothrow_integer& n, size_t bits=0);
+nothrow_integer nothrow_from_binary(const xint::binary_t& s, size_t bits=0);
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -217,7 +222,6 @@
     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);
@@ -225,8 +229,6 @@
 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);
@@ -268,9 +270,9 @@
     typename boost::enable_if<boost::is_signed<T> >::type*)
 {
     try {
- *this=nothrow_integer(xint::nothrow_integer(n));
+ _set_signed(n);
     } catch (std::exception&) {
- _attach(0);
+ _base_attach(0);
     }
 }
 
@@ -291,9 +293,9 @@
     typename boost::enable_if<boost::is_unsigned<T> >::type*)
 {
     try {
- *this=nothrow_integer(xint::nothrow_integer(n));
+ _set_unsigned(n);
     } catch (std::exception&) {
- _attach(0);
+ _base_attach(0);
     }
 }
 
@@ -304,7 +306,7 @@
 template <typename T>
 T to(const nothrow_integer& n) {
     try {
- return to<T>(xint::nothrow_integer(n));
+ return detail::to<T>(n);
     } catch (std::exception&) {
         return 0;
     }
@@ -320,7 +322,7 @@
         out << detail::nan_text;
         return out;
     } else {
- return xint::operator<<(out, xint::nothrow_integer(n));
+ return detail::operator<<(out, n);
     }
 }
 
@@ -331,22 +333,31 @@
     if (in.peek()=='#') {
         // Must be either #NaN# or an error
         char buffer[6];
- std::streamsize size=in.readsome(buffer, 5);
- buffer[size]=0;
+
+ // These are efficient and safe, but MSVC complains about them anyway.
+ //std::streamsize size=in.readsome(buffer, 5);
+ //buffer[size]=0;
+
+ // Replacing them with these.
+ char *p = buffer, *pe = p + 5;
+ while (p != pe) in >> *p++;
+ *p = 0;
+
         std::string str(buffer);
 
         if (str==detail::nan_text) n=nothrow_integer::nan();
         else in.setstate(std::ios::failbit);
+ return in;
     } else {
- xint::nothrow_integer nn;
- xint::operator>>(in, nn);
- if (in) n=nn;
+ return detail::operator>>(in, n);
     }
-
- return in;
 }
 //!@}
 
+inline void swap(nothrow_integer& left, nothrow_integer& right) {
+ left._swap(right);
+}
+
 } // namespace xint
 } // namespace boost
 

Modified: sandbox/xint/boost/xint/random.hpp
==============================================================================
--- sandbox/xint/boost/xint/random.hpp (original)
+++ sandbox/xint/boost/xint/random.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -57,6 +57,7 @@
     struct base_random_generator {
         typedef unsigned int result_type;
         virtual result_type operator()()=0;
+ virtual ~base_random_generator() { }
     };
 
     //! Support class for the random generator code.

Modified: sandbox/xint/boost/xint/xint.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint.hpp (original)
+++ sandbox/xint/boost/xint/xint.hpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -21,6 +21,7 @@
 #include "internals.hpp"
 #include "integer.hpp"
 #include "nothrow_integer.hpp"
+#include "fixed_integer.hpp"
 #include "random.hpp"
 #include "exceptions.hpp"
 

Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/doc/acknowledgements.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -56,7 +55,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 Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/acknowledgements_8dox.html
==============================================================================
--- sandbox/xint/doc/acknowledgements_8dox.html (original)
+++ sandbox/xint/doc/acknowledgements_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/acknowledgements.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/annotated.html
==============================================================================
--- sandbox/xint/doc/annotated.html (original)
+++ sandbox/xint/doc/annotated.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -28,28 +27,37 @@
 </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_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="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td class="indexvalue">Holds the results from a division-with-remainder call </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td class="indexvalue">The base class for all integer classes </td></tr>
   <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td class="indexvalue">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td class="indexvalue">The base class for the variable-length integer classes </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td><td class="indexvalue">Used internally to reorder bits into different-sized groupings </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t&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="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td class="indexvalue">Holds the magnitude digits of an integer </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td class="indexvalue">A fixed-size integer type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td class="indexvalue">The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types </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_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></td><td class="indexvalue">Makes a negated temporary integer that can always share storage </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td class="indexvalue">The nothrow_integer class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td class="indexvalue"></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="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td><td class="indexvalue">Makes a temporary integer that can always share storage </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/base__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/base__integer_8cpp.html (original)
+++ sandbox/xint/doc/base__integer_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -44,13 +43,15 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a> (size_t bits)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the <code>base_integer</code> member functions. </p>
 
 <p>Definition in file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,26 +38,41 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail::bitwise_and</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail::bitwise_or</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail::bitwise_xor</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail::clearbit</a> (base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail::getbit</a> (const base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail::highestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail::lowestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail::setbit</a> (base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail::shift_left</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail::shift_right</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Bit-manipulation functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
 </div></td></tr>
-<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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an integer with a value of one. <br/></td></tr>
+<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">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">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>
@@ -71,7 +85,7 @@
 
 <p>Definition in file <a class="el" href="bit__manipulations_8cpp_source.html">bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Deleted: sandbox/xint/doc/blockable__bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__bit__manipulations_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_bit_manipulations.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_bit_manipulations.cpp File Reference</h1>
-<p>Contains the bit-manipulation functions for <code>nothrow_integers</code>.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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.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 <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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,149 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_bit_manipulations.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>blockable_bit_manipulations.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>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="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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__compare_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_compare.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_compare.cpp File Reference</h1>
-<p>Contains the the compare function and comparison operators for nothrow_integers.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#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.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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__compare_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_compare.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>blockable_compare.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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="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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__convert_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_convert.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_convert.cpp File Reference</h1>
-<p>Contains the conversion functions for nothrow_integers.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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.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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__convert_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__convert_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_convert.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>blockable_convert.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="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
-<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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__gcd_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_gcd.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_gcd.cpp File Reference</h1>
-<p>Greatest Common Denominator and Least Common Multple for <code>nothrow_integers</code>.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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">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 <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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__gcd_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_gcd.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>blockable_gcd.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__integer_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_integer.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_integer.cpp File Reference</h1>
-<p>Contains the definitions for the xint::nothrow_integer member functions.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__integer_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,219 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_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>blockable_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="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">const</span> std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
-<a name="l00025"></a>00025
-<a name="l00027"></a>00027 <span class="comment">// The nothrow_integer class</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>{
-<a name="l00030"></a>00030 std::auto_ptr&lt;nothrow_integer&gt; cZero, cOne, cNaN;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">00034</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>() {
-<a name="l00035"></a>00035 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__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_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_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_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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__misc_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_misc.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_misc.cpp File Reference</h1>
-<p>Functions for nothrow_integers that don't fall into any other category.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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.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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__misc_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_misc.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>blockable_misc.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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="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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__modular_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_modular.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_modular.cpp File Reference</h1>
-<p>Contains the definitions for the basic modular math functions for nothrow_integers.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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">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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__modular_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_modular.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>blockable_modular.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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#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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__operators_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_operators.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_operators.cpp File Reference</h1>
-<p>Contains the definitions for the basic math operators for nothrow_integers.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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 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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__operators_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_operators.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>blockable_operators.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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">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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__powers_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,60 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_powers.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_powers.cpp File Reference</h1>
-<p>Contains the definitions for nothrow_integer functions related to powers of a number.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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">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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__powers_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__powers_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_powers.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>blockable_powers.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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#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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__primes_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_primes.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_primes.cpp File Reference</h1>
-<p>Contains the definitions for functions related to prime numbers for <code>nothrow_integers</code>.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#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 <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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__primes_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__primes_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_primes.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>blockable_primes.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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="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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__primitives_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_primitives.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_primitives.cpp File Reference</h1>
-<p>Contains the definitions for math primitives for <code>nothrow_integers</code>.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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">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 <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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__primitives_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,110 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_primitives.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>blockable_primitives.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>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="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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__random_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__random_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_random.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_random.cpp File Reference</h1>
-<p>Contains the definitions for the random number functions for nothrow_integers.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the random number functions for 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__random_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_random.cpp Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>blockable_random.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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#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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/blockable__roots_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_roots.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>blockable_roots.cpp File Reference</h1>
-<p>Contains the definitions for nothrow_integer functions related to roots of a number.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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">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 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 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>
-</html>

Deleted: sandbox/xint/doc/blockable__roots_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/blockable__roots_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: blockable_roots.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>blockable_roots.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/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#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 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>
-</html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::base_divide_t&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>()</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">base_divide_t</a>(const T &amp;q, const T &amp;r)</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa9f43e464f328b0cc618f67e6e4d1d6f">base_divide_t</a>(const base_divide_t&lt; T &gt; &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">base_divide_t</a>(BOOST_XINT_RV_REF(base_divide_t) move)</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">operator=</a>(BOOST_XINT_COPY_ASSIGN_REF(base_divide_t) copy)</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">operator=</a>(BOOST_XINT_RV_REF(base_divide_t) move)</td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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_1base__divide__t.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,241 @@
+<!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::base_divide_t&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::base_divide_t&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="boost::xint::base_divide_t" -->
+<p>Holds the results from a division-with-remainder call.
+More...</p>
+
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">base_divide_t</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>) move)</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_1base__divide__t.html#aa9f43e464f328b0cc618f67e6e4d1d6f">base_divide_t</a> (const <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; T &gt; &amp;copy)</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_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">base_divide_t</a> (const T &amp;q, const T &amp;r)</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_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">operator=</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>) move)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">operator=</a> (BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>) copy)</td></tr>
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class T&gt;<br/>
+ class boost::xint::base_divide_t&lt; T &gt;</h3>
+
+<p>Holds the results from a division-with-remainder call. </p>
+<p>This class serves essentially the same purpose as an <code>std::pair</code>. The only reason it exists is that <code>std::pair</code> doesn't work well with Boost.Move on some compilers. </p>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00356">356</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a78e4dd66f424388d1db839ef53e25997"></a><!-- doxytag: member="boost::xint::base_divide_t::base_divide_t" ref="a78e4dd66f424388d1db839ef53e25997" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00358">358</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1b7962768058ad19d8d3e848b1fc019e"></a><!-- doxytag: member="boost::xint::base_divide_t::base_divide_t" ref="a1b7962768058ad19d8d3e848b1fc019e" args="(const T &amp;q, const T &amp;r)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>q</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>r</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00359">359</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa9f43e464f328b0cc618f67e6e4d1d6f"></a><!-- doxytag: member="boost::xint::base_divide_t::base_divide_t" ref="aa9f43e464f328b0cc618f67e6e4d1d6f" args="(const base_divide_t&lt; T &gt; &amp;copy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; T &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>copy</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00360">360</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa2df86aa70e8ac849cd6289a1f459b1"></a><!-- doxytag: member="boost::xint::base_divide_t::base_divide_t" ref="aaa2df86aa70e8ac849cd6289a1f459b1" args="(BOOST_XINT_RV_REF(base_divide_t) move)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; T &gt;)&nbsp;</td>
+ <td class="paramname"> <em>move</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00362">362</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5f66ee628dc58d181b8c2886354909fb"></a><!-- doxytag: member="boost::xint::base_divide_t::operator=" ref="a5f66ee628dc58d181b8c2886354909fb" args="(BOOST_XINT_RV_REF(base_divide_t) move)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&amp; <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; T &gt;)&nbsp;</td>
+ <td class="paramname"> <em>move</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00368">368</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac74a636871dd2988a4f654fc745426c7"></a><!-- doxytag: member="boost::xint::base_divide_t::operator=" ref="ac74a636871dd2988a4f654fc745426c7" args="(BOOST_XINT_COPY_ASSIGN_REF(base_divide_t) copy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&amp; <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; T &gt;)&nbsp;</td>
+ <td class="paramname"> <em>copy</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00365">365</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a7b3f254223974ed79663f9a0e4d1649c"></a><!-- doxytag: member="boost::xint::base_divide_t::quotient" ref="a7b3f254223974ed79663f9a0e4d1649c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00372">372</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa79bd57f1bc85ceb86913fd0f81c9e2d"></a><!-- doxytag: member="boost::xint::base_divide_t::remainder" ref="aa79bd57f1bc85ceb86913fd0f81c9e2d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t</a>&lt; T &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00372">372</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: 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::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_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_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>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">integer</a>(const integer &amp;b)</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#a0ff286ad0a69d6f885cf51905331b065">integer</a>(const core::integer &amp;b)</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#a2c02cafe2e7f1262a8b45356b32a21ab">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a466b727de74ca896778f7bde6ae3fbf1">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a97fd03d9176e7f308518248e738987c7">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">is_nan</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#ae52c1f42c887d0fffa40e38c97caedf1">nan</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_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">odd</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#ad1c34452538608bee270c1971f8a0bd5">one</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_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">operator%=</a>(const integer &amp;b)</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#acc4f122a18cb417de1e04dbc011cd2ab">operator&amp;=</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#aedc9d1a4591b66b96f2074a944990d8d">operator*=</a>(const integer &amp;b)</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#aaf8089c12fbf456ba44414031975904e">operator++</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#a50d2872735d7b1dfcba66d4940cdc658">operator++</a>(int)</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#af6ee01d09f0dcb51fa6c45437e18de7e">operator+=</a>(const integer &amp;b)</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#aac66433b51dba8fa64e555fbe753195c">operator--</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#a0e35cc2d6c37f4e14c4d21d998179121">operator--</a>(int)</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#a9e89bbb863f344227e72585634f4c695">operator-=</a>(const integer &amp;b)</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#ac25f98f5fbf12160ea9bfd6acb867f16">operator/=</a>(const integer &amp;b)</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#ae21b3b4e8189fd051efa649f00a3dce3">operator&lt;&lt;</a>(size_t shift) 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#afd3d92f33f89c51575062f4d87238380">operator&lt;&lt;=</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#a90efe3e62f20a587d2304d7df6e91c63">operator=</a>(const integer &amp;c)</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#a479d19cff13ff3d592f9e543f14c1254">operator&gt;&gt;</a>(size_t shift) 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#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#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_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 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>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,885 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::blockable::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_1blockable.html">blockable</a>::<a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>
- </div>
-</div>
-<div class="contents">
-<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.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::blockable::integer:</div>
-<div class="dynsection">
- <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_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
-</div></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_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">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_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">integer</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0ff286ad0a69d6f885cf51905331b065">integer</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2c02cafe2e7f1262a8b45356b32a21ab">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a466b727de74ca896778f7bde6ae3fbf1">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a97fd03d9176e7f308518248e738987c7">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
-<p>Note that there is no <code>operator~</code>. Since the integer type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">operator--</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a50d2872735d7b1dfcba66d4940cdc658">operator++</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0e35cc2d6c37f4e14c4d21d998179121">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">operator&gt;&gt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">operator&lt;&lt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="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#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#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>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> 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. </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">zero</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">nan</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The blockable integer class. </p>
-<p>Functions using this class can be exception-blocked. See <a class="el" href="exceptions.html">this page</a> for details.</p>
-<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#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">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Creates a new integer with an initial value of zero. </p>
-
-<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00037">37</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acade75e4974489026f1eeb6945c9779a"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="acade75e4974489026f1eeb6945c9779a" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Creates a copy of an existing integer. <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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00042">42</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0ff286ad0a69d6f885cf51905331b065"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a0ff286ad0a69d6f885cf51905331b065" args="(const core::integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates an integer from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. </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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00060">60</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2c02cafe2e7f1262a8b45356b32a21ab"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a2c02cafe2e7f1262a8b45356b32a21ab" args="(const std::string &amp;str, size_t base=10)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Create an integer from a string representation. <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>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_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 <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#l00069">69</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a466b727de74ca896778f7bde6ae3fbf1"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a466b727de74ca896778f7bde6ae3fbf1" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Constructs a new integer object with the value of the built-in signed integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00973">973</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a97fd03d9176e7f308518248e738987c7"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a97fd03d9176e7f308518248e738987c7" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::blockable::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Constructs a new integer object with the value of the built-in unsigned integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00997">997</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="a93aebe2dfcc921ae4959811399b1643e"></a><!-- doxytag: member="boost::xint::blockable::integer::_make_unique" ref="a93aebe2dfcc921ae4959811399b1643e" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::blockable::integer::_make_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="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>
-<a class="anchor" id="aa4a34e862279bdcabcb10aa3f7015751"></a><!-- doxytag: member="boost::xint::blockable::integer::even" ref="aa4a34e862279bdcabcb10aa3f7015751" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::blockable::integer::even </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Tests the lowest bit of <code>*this</code> to determine evenness. <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>
-<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#l00093">93</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab59ab2bab8ee2620f82328e43d8f8493"></a><!-- doxytag: member="boost::xint::blockable::integer::hex_digits" ref="ab59ab2bab8ee2620f82328e43d8f8493" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::blockable::integer::hex_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Tells you roughly how large an integer is. <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>
-<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#l00118">118</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa03f255fa20c9340c110a56a9b4e5123"></a><!-- doxytag: member="boost::xint::blockable::integer::is_nan" ref="aa03f255fa20c9340c110a56a9b4e5123" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::blockable::integer::is_nan </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests <code>*this</code> for Not-a-Number. </p>
-<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#l00133">133</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae52c1f42c887d0fffa40e38c97caedf1"></a><!-- doxytag: member="boost::xint::blockable::integer::nan" ref="ae52c1f42c887d0fffa40e38c97caedf1" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::nan </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="aeeb0effdaf500fabdabde386c6d71ecf"></a><!-- doxytag: member="boost::xint::blockable::integer::odd" ref="aeeb0effdaf500fabdabde386c6d71ecf" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::blockable::integer::odd </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Tests the lowest bit of <code>*this</code> to determine oddness. <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>
-<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#l00081">81</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad1c34452538608bee270c1971f8a0bd5"></a><!-- doxytag: member="boost::xint::blockable::integer::one" ref="ad1c34452538608bee270c1971f8a0bd5" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::one </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="a3c95f3fe54f21728cce0363283e63582"></a><!-- doxytag: member="boost::xint::blockable::integer::operator%=" ref="a3c95f3fe54f21728cce0363283e63582" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator%= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</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#l00169">169</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acc4f122a18cb417de1e04dbc011cd2ab"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&amp;=" ref="acc4f122a18cb417de1e04dbc011cd2ab" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&amp;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">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="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>
-<a class="anchor" id="aedc9d1a4591b66b96f2074a944990d8d"></a><!-- doxytag: member="boost::xint::blockable::integer::operator*=" ref="aedc9d1a4591b66b96f2074a944990d8d" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator*= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</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#l00167">167</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a50d2872735d7b1dfcba66d4940cdc658"></a><!-- doxytag: member="boost::xint::blockable::integer::operator++" ref="a50d2872735d7b1dfcba66d4940cdc658" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator++ </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postincrement operator -- not recommended, inefficient </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>
-<a class="anchor" id="aaf8089c12fbf456ba44414031975904e"></a><!-- doxytag: member="boost::xint::blockable::integer::operator++" ref="aaf8089c12fbf456ba44414031975904e" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator++ </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Preincrement operator </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>
-<a class="anchor" id="af6ee01d09f0dcb51fa6c45437e18de7e"></a><!-- doxytag: member="boost::xint::blockable::integer::operator+=" ref="af6ee01d09f0dcb51fa6c45437e18de7e" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator+= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</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#l00137">137</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0e35cc2d6c37f4e14c4d21d998179121"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;&#45;" ref="a0e35cc2d6c37f4e14c4d21d998179121" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator-- </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postdecrement operator -- not recommended, inefficient </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>
-<a class="anchor" id="aac66433b51dba8fa64e555fbe753195c"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;&#45;" ref="aac66433b51dba8fa64e555fbe753195c" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator-- </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Predecrement operator </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>
-<a class="anchor" id="a9e89bbb863f344227e72585634f4c695"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;=" ref="a9e89bbb863f344227e72585634f4c695" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator-= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</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#l00147">147</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac25f98f5fbf12160ea9bfd6acb867f16"></a><!-- doxytag: member="boost::xint::blockable::integer::operator/=" ref="ac25f98f5fbf12160ea9bfd6acb867f16" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator/= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</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#l00168">168</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae21b3b4e8189fd051efa649f00a3dce3"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&lt;&lt;" ref="ae21b3b4e8189fd051efa649f00a3dce3" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="afd3d92f33f89c51575062f4d87238380"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&lt;&lt;=" ref="afd3d92f33f89c51575062f4d87238380" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&lt;&lt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</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#l00182">182</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a90efe3e62f20a587d2304d7df6e91c63"></a><!-- doxytag: member="boost::xint::blockable::integer::operator=" ref="a90efe3e62f20a587d2304d7df6e91c63" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>c</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#l00157">157</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a479d19cff13ff3d592f9e543f14c1254"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&gt;&gt;" ref="a479d19cff13ff3d592f9e543f14c1254" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="a31216f4689f95bf82677faa3b43ad458"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&gt;&gt;=" ref="a31216f4689f95bf82677faa3b43ad458" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&gt;&gt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</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#l00192">192</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2e63df76366b1ad1bd0246eebe24e3ef"></a><!-- doxytag: member="boost::xint::blockable::integer::operator^=" ref="a2e63df76366b1ad1bd0246eebe24e3ef" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator^= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">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="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>
-<a class="anchor" id="af8a5624f5fe99930cf27b13628190717"></a><!-- doxytag: member="boost::xint::blockable::integer::operator|=" ref="af8a5624f5fe99930cf27b13628190717" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator|= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">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="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="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="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><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#l00105">105</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6f7309f1c9710a8167796c6954e690fd"></a><!-- doxytag: member="boost::xint::blockable::integer::zero" ref="a6f7309f1c9710a8167796c6954e690fd" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::zero </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-<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 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>
-</html>

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

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1cannot__represent.html">boost::xint::cannot_represent</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1cannot__represent.html#a940b731d15c77c43abef5d6053fd5d75">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_1cannot__represent.html">boost::xint::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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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="classboost_1_1xint_1_1cannot__represent.html">cannot_represent</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::cannot_represent Class Reference</h1><!-- doxytag: class="boost::xint::cannot_represent" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1cannot__represent.html#a940b731d15c77c43abef5d6053fd5d75">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>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00695">695</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="a940b731d15c77c43abef5d6053fd5d75"></a><!-- doxytag: member="boost::xint::cannot_represent::cannot_represent" ref="a940b731d15c77c43abef5d6053fd5d75" 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::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="xint_8hpp_source.html#l00697">697</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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#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#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 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>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,550 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::core::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_1core.html">core</a>::<a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::core::base_integer Class Reference</h1><!-- doxytag: class="boost::xint::core::base_integer" -->
-<p>The base class for the integer classes.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::core::base_integer:</div>
-<div class="dynsection">
- <div class="center">
- <img src="classboost_1_1xint_1_1core_1_1base__integer.png" usemap="#boost::xint::core::base_integer_map" alt=""/>
- <map id="boost::xint::core::base_integer_map" name="boost::xint::core::base_integer_map">
-<area href="classboost_1_1xint_1_1blockable_1_1integer.html" alt="boost::xint::blockable::integer" shape="rect" coords="0,56,178,80"/>
-<area href="classboost_1_1xint_1_1core_1_1integer.html" alt="boost::xint::core::integer" shape="rect" coords="188,56,366,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_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">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_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~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_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">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>
-<p>The base class for the integer classes. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00139">139</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="a41cf20da11883ce0547e2391b9a51a80"></a><!-- doxytag: member="boost::xint::core::base_integer::base_integer" ref="a41cf20da11883ce0547e2391b9a51a80" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::base_integer::base_integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00141">141</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25b1de1f91bd026add3b07043b0eefcd"></a><!-- doxytag: member="boost::xint::core::base_integer::~base_integer" ref="a25b1de1f91bd026add3b07043b0eefcd" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::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="integer_8cpp_source.html#l00036">36</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</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">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::base_integer::_attach </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>
- <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#l00085">85</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<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">
- <tr>
- <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>
- </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>
- </table>
-</div>
-<div class="memdoc">
-
-<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="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">void boost::xint::core::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="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="integer_8cpp_source.html#l00061">61</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4cbda067a810993a4d253d9113ca44a8"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digit" ref="a4cbda067a810993a4d253d9113ca44a8" 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">detail::digit_t</a> boost::xint::core::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="integer_8cpp_source.html#l00044">44</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac932c6bae77d2bbc93bf3456909e30bb"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digit" ref="ac932c6bae77d2bbc93bf3456909e30bb" 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">detail::digit_t</a> boost::xint::core::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="integer_8cpp_source.html#l00040">40</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</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">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::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="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>
-<a class="anchor" id="aa3d3f1dafb98685d92dec931dd0e3671"></a><!-- doxytag: member="boost::xint::core::base_integer::_is_unique" ref="aa3d3f1dafb98685d92dec931dd0e3671" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::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="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>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-<li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue 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>
-</html>

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

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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_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_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>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa8a21b616c6c6f78f3c49686f897b067">integer</a>(const integer &amp;b)</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#ad0f5b3fdf28a3e2892198dd1c39afe82">integer</a>(const blockable::integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afb6b73128973a835a261546f0a7fa0e7">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a570690c9233ceb8d73dccb9af052f12b">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a9eacfa2b1eea176019597ea25023e40e">odd</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#afcf74b546cda2690025c75325365a0fe">one</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_1integer.html#a182855c5d54a78bad4fde3e807d2cce1">operator%=</a>(const integer &amp;b)</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#a00b096912c273f06aa0c0ea1284573d3">operator&amp;=</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#a6eb52f1f84758e968ae7ae684436a9bb">operator*=</a>(const integer &amp;b)</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#aa7e03bb3c9fe87c3205759d4ade6f714">operator++</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#ab04d9f5bfe1d4b9d10acf4cf3f8a6115">operator++</a>(int)</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#afa137efa8b9fde22a3758ba020b819b7">operator+=</a>(const integer &amp;b)</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#af66a56ff7fcc62ed0d82a7f3205951fe">operator--</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#ab30e34305c00e55f9ea0012085c49c9d">operator--</a>(int)</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#aab4918c70e19e08e650e827b2c89e83f">operator-=</a>(const integer &amp;b)</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#a62d24cd0e4f033f7e44d0eadcaffec21">operator/=</a>(const integer &amp;b)</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#a659279c9657ce38ef02c7290025cff5c">operator&lt;&lt;</a>(size_t shift) 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#afde4e3672f01fd2fd4bf6091ca4e0547">operator&lt;&lt;=</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#a25202c72bffb37f2f7342633f0435fed">operator=</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></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a792aecee632de9b1a8822bc414bd2c64">operator&gt;&gt;</a>(size_t shift) 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#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#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_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 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>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,852 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::core::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_1core.html">core</a>::<a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>
- </div>
-</div>
-<div class="contents">
-<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.
-More...</p>
-<div class="dynheader">
-Inheritance diagram for boost::xint::core::integer:</div>
-<div class="dynsection">
- <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_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
-</map>
- </div>
-</div>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
-</div></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_1core_1_1integer.html#a4e99025a3cdbf0777f90effe05e97625">integer</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer with an initial value of zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa8a21b616c6c6f78f3c49686f897b067">integer</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ad0f5b3fdf28a3e2892198dd1c39afe82">integer</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">blockable::integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an integer from a string representation. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afb6b73128973a835a261546f0a7fa0e7">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a570690c9233ceb8d73dccb9af052f12b">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
-<p>Note that there is no <code>operator~</code>. Since the integer type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a25202c72bffb37f2f7342633f0435fed">operator=</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"><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#afa137efa8b9fde22a3758ba020b819b7">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#aab4918c70e19e08e650e827b2c89e83f">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a6eb52f1f84758e968ae7ae684436a9bb">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a62d24cd0e4f033f7e44d0eadcaffec21">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a182855c5d54a78bad4fde3e807d2cce1">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#aa7e03bb3c9fe87c3205759d4ade6f714">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#af66a56ff7fcc62ed0d82a7f3205951fe">operator--</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab04d9f5bfe1d4b9d10acf4cf3f8a6115">operator++</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab30e34305c00e55f9ea0012085c49c9d">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a00b096912c273f06aa0c0ea1284573d3">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a6778bfda930127b6f203cbb7967373b5">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#a6c572b5a2976a88f0b214b0732a6d689">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a659279c9657ce38ef02c7290025cff5c">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a792aecee632de9b1a8822bc414bd2c64">operator&gt;&gt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#afde4e3672f01fd2fd4bf6091ca4e0547">operator&lt;&lt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><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#aac72a9392108a0f684e7f502bef3d8fe">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1core_1_1integer.html#a9eacfa2b1eea176019597ea25023e40e">odd</a> () const </td></tr>
-<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#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#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>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> 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. </p>
-</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>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The core integer class. </p>
-<p>This class implements the "pure" <code>integer</code> type, uncontaminated by things like the Not-a-Number value.</p>
-<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#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">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a new integer with an initial value of zero. </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>
-<a class="anchor" id="aa8a21b616c6c6f78f3c49686f897b067"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="aa8a21b616c6c6f78f3c49686f897b067" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </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>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a copy of an existing integer. </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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00045">45</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad0f5b3fdf28a3e2892198dd1c39afe82"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="ad0f5b3fdf28a3e2892198dd1c39afe82" args="(const blockable::integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">blockable::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates an integer from a <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>. </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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00059">59</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa5b9d9f104ce714700b4a3a40eefb80f"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="aa5b9d9f104ce714700b4a3a40eefb80f" args="(const std::string &amp;str, size_t base=10)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Create an integer from a string representation. </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>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_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 <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#l00085">85</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb6b73128973a835a261546f0a7fa0e7"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="afb6b73128973a835a261546f0a7fa0e7" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Constructs a new integer object with the value of the built-in signed integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#l00801">801</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a570690c9233ceb8d73dccb9af052f12b"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a570690c9233ceb8d73dccb9af052f12b" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Constructs a new integer object with the value of the built-in unsigned integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<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#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="a1f1b1c19c7c3ec22972124abdbd08cc1"></a><!-- doxytag: member="boost::xint::core::integer::_make_unique" ref="a1f1b1c19c7c3ec22972124abdbd08cc1" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_make_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="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="a61bef2a0575b9f331ca32686e489c9d3"></a><!-- doxytag: member="boost::xint::core::integer::even" ref="a61bef2a0575b9f331ca32686e489c9d3" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::integer::even </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a615f128085bba5e711c24be546449f43"></a><!-- doxytag: member="boost::xint::core::integer::hex_digits" ref="a615f128085bba5e711c24be546449f43" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::integer::hex_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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#l00128">128</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9eacfa2b1eea176019597ea25023e40e"></a><!-- doxytag: member="boost::xint::core::integer::odd" ref="a9eacfa2b1eea176019597ea25023e40e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::integer::odd </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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#l00097">97</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afcf74b546cda2690025c75325365a0fe"></a><!-- doxytag: member="boost::xint::core::integer::one" ref="afcf74b546cda2690025c75325365a0fe" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::one </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="a182855c5d54a78bad4fde3e807d2cce1"></a><!-- doxytag: member="boost::xint::core::integer::operator%=" ref="a182855c5d54a78bad4fde3e807d2cce1" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator%= </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>b</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#l00166">166</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a00b096912c273f06aa0c0ea1284573d3"></a><!-- doxytag: member="boost::xint::core::integer::operator&amp;=" ref="a00b096912c273f06aa0c0ea1284573d3" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator&amp;= </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>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#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6eb52f1f84758e968ae7ae684436a9bb"></a><!-- doxytag: member="boost::xint::core::integer::operator*=" ref="a6eb52f1f84758e968ae7ae684436a9bb" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator*= </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>b</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#l00164">164</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab04d9f5bfe1d4b9d10acf4cf3f8a6115"></a><!-- doxytag: member="boost::xint::core::integer::operator++" ref="ab04d9f5bfe1d4b9d10acf4cf3f8a6115" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::integer::operator++ </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postincrement operator -- not recommended, inefficient </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>
-<a class="anchor" id="aa7e03bb3c9fe87c3205759d4ade6f714"></a><!-- doxytag: member="boost::xint::core::integer::operator++" ref="aa7e03bb3c9fe87c3205759d4ade6f714" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator++ </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Preincrement operator </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>
-<a class="anchor" id="afa137efa8b9fde22a3758ba020b819b7"></a><!-- doxytag: member="boost::xint::core::integer::operator+=" ref="afa137efa8b9fde22a3758ba020b819b7" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator+= </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>b</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#l00133">133</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab30e34305c00e55f9ea0012085c49c9d"></a><!-- doxytag: member="boost::xint::core::integer::operator&#45;&#45;" ref="ab30e34305c00e55f9ea0012085c49c9d" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::integer::operator-- </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postdecrement operator -- not recommended, inefficient </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>
-<a class="anchor" id="af66a56ff7fcc62ed0d82a7f3205951fe"></a><!-- doxytag: member="boost::xint::core::integer::operator&#45;&#45;" ref="af66a56ff7fcc62ed0d82a7f3205951fe" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator-- </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Predecrement operator </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>
-<a class="anchor" id="aab4918c70e19e08e650e827b2c89e83f"></a><!-- doxytag: member="boost::xint::core::integer::operator&#45;=" ref="aab4918c70e19e08e650e827b2c89e83f" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator-= </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>b</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#l00147">147</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a62d24cd0e4f033f7e44d0eadcaffec21"></a><!-- doxytag: member="boost::xint::core::integer::operator/=" ref="a62d24cd0e4f033f7e44d0eadcaffec21" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator/= </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>b</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#l00165">165</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a659279c9657ce38ef02c7290025cff5c"></a><!-- doxytag: member="boost::xint::core::integer::operator&lt;&lt;" ref="a659279c9657ce38ef02c7290025cff5c" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::integer::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></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#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afde4e3672f01fd2fd4bf6091ca4e0547"></a><!-- doxytag: member="boost::xint::core::integer::operator&lt;&lt;=" ref="afde4e3672f01fd2fd4bf6091ca4e0547" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator&lt;&lt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</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#l00179">179</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25202c72bffb37f2f7342633f0435fed"></a><!-- doxytag: member="boost::xint::core::integer::operator=" ref="a25202c72bffb37f2f7342633f0435fed" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator= </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></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>
-<a class="anchor" id="a792aecee632de9b1a8822bc414bd2c64"></a><!-- doxytag: member="boost::xint::core::integer::operator&gt;&gt;" ref="a792aecee632de9b1a8822bc414bd2c64" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::integer::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></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#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aac72a9392108a0f684e7f502bef3d8fe"></a><!-- doxytag: member="boost::xint::core::integer::operator&gt;&gt;=" ref="aac72a9392108a0f684e7f502bef3d8fe" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator&gt;&gt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</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#l00187">187</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6c572b5a2976a88f0b214b0732a6d689"></a><!-- doxytag: member="boost::xint::core::integer::operator^=" ref="a6c572b5a2976a88f0b214b0732a6d689" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator^= </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>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#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6778bfda930127b6f203cbb7967373b5"></a><!-- doxytag: member="boost::xint::core::integer::operator|=" ref="a6778bfda930127b6f203cbb7967373b5" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::operator|= </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>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#l00176">176</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<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="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>. </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#l00118">118</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c4fdf4a0fd9cefd3f72b38413e32e9a"></a><!-- doxytag: member="boost::xint::core::integer::zero" ref="a5c4fdf4a0fd9cefd3f72b38413e32e9a" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::integer::zero </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00195">195</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-<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 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>
-</html>

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

Modified: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,34 +28,50 @@
 <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#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">base_variable_length_integer</a> class</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">temp_t</a> class</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [friend]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1detail_1_1base__integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 </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.
+<p>The base class for all integer classes.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
 Inheritance diagram for boost::xint::detail::base_integer:</div>
@@ -38,8 +37,13 @@
  <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"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="143,56,419,80"/>
+<area href="classboost_1_1xint_1_1detail_1_1temp__t.html" alt="boost::xint::detail::temp_t" shape="rect" coords="572,56,848,80"/>
+<area href="classboost_1_1xint_1_1fixed__integer__any.html" alt="boost::xint::fixed_integer_any" shape="rect" coords="858,56,1134,80"/>
+<area href="classboost_1_1xint_1_1integer.html" alt="boost::xint::integer" shape="rect" coords="0,112,276,136"/>
+<area href="classboost_1_1xint_1_1nothrow__integer.html" alt="boost::xint::nothrow_integer" shape="rect" coords="286,112,562,136"/>
+<area href="classboost_1_1xint_1_1detail_1_1neg__t.html" alt="boost::xint::detail::neg_t" shape="rect" coords="572,112,848,136"/>
+<area href="classboost_1_1xint_1_1fixed__integer.html" alt="boost::xint::fixed_integer&lt; Bits &gt;" shape="rect" coords="858,112,1134,136"/>
 </map>
  </div>
 </div>
@@ -51,38 +55,73 @@
 <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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;copy)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a> (bool absolute_value=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a> (size_t index, bool) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee8727d51762352bba8ea8e3b8489f2">_get_digits</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a> (size_t index) const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a> (bool absolute_value=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a> (size_t new_digit_count)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a> (size_t digits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a> (bool neg)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a> (boost::intmax_t n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a> (boost::uintmax_t n, bool negative=false)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a> (<a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;other)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a> ()</td></tr>
+<tr><td colspan="2"><h2>Protected Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a></td></tr>
 <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *new_data, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> flags=0, size_t extra_allocation=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a> (size_t count, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *adopt, bool neg=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;c, bool fixed)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a> ()</td></tr>
-<tr><td 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>
+<tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a> = 0x04</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a> = 0x01</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a> = 0x02</td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">base_variable_length_integer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">temp_t</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The base class for the integer classes. </p>
+<p>The base class for all integer classes. </p>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00144">144</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<hr/><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="af85f2e55215d2ec3f15164fff64cddd9"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_t" ref="af85f2e55215d2ec3f15164fff64cddd9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef unsigned int <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer::flag_t</a><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00192">192</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
-<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>
+</div>
+</div>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a33dd417aa6d0a7892efe3d497b8f3f80"></a><!-- doxytag: member="boost::xint::detail::base_integer::~base_integer" ref="a33dd417aa6d0a7892efe3d497b8f3f80" args="()" -->
 <div class="memitem">
@@ -99,7 +138,7 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00055">55</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -112,37 +151,89 @@
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [inline, protected]</code></td>
+ <td><code> [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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a94ba0c5d0b11588062116ebf6263f2cc"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a94ba0c5d0b11588062116ebf6263f2cc" args="(size_t count, digit_t mask, void *d)" -->
+<a class="anchor" id="ab5e59c173051f19be31b5af9c2077de0"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="ab5e59c173051f19be31b5af9c2077de0" args="(const base_integer &amp;c, bool fixed)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">boost::xint::detail::base_integer::base_integer </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>count</em>, </td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>mask</em>, </td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>fixed</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00037">37</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a94fcb8494e0a8787c34ea6dcb9d5c4cf"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a94fcb8494e0a8787c34ea6dcb9d5c4cf" args="(data_t *adopt, bool neg=false)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::detail::base_integer::base_integer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>adopt</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>neg</em> = <code>false</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a160a243a54984431613c88fb7fbacb0c"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_integer" ref="a160a243a54984431613c88fb7fbacb0c" args="(size_t count, digit_t mask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::detail::base_integer::base_integer </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td>
+ <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -153,7 +244,7 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00043">43</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -174,8 +265,6 @@
 </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)" -->
@@ -188,31 +277,37 @@
           <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>
+ <td></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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00270">270</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a0ff9a2dc0d72f2c16caf68c6277cdab9"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach" ref="a0ff9a2dc0d72f2c16caf68c6277cdab9" args="(data_t&lt;&gt; *new_data, bool neg=false)" -->
+<a class="anchor" id="a9e58a5897a80b8017ff7da7f0abacb6b"></a><!-- doxytag: member="boost::xint::detail::base_integer::_base_attach" ref="a9e58a5897a80b8017ff7da7f0abacb6b" args="(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_attach </td>
+ <td class="memname">void boost::xint::detail::base_integer::_base_attach </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>&lt;&gt; *&nbsp;</td>
+ <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td>
           <td class="paramname"> <em>new_data</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>neg</em> = <code>false</code></td><td>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a>&nbsp;</td>
+ <td class="paramname"> <em>flags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>extra_allocation</em> = <code>0</code></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -223,175 +318,203 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00203">203</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a4f2678c34cdf09e8df0c38ea91347fd7"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_0" ref="a4f2678c34cdf09e8df0c38ea91347fd7" args="()" -->
+<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::_attach_0 </td>
+ <td class="memname">void boost::xint::detail::base_integer::_cleanup </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
+ <td></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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00275">275</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ab94f96758a658c1523291c6d10ca7dc0"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_1" ref="ab94f96758a658c1523291c6d10ca7dc0" args="(digit_t n)" -->
+<a class="anchor" id="a91e4b721c42445501b136a13d7ce9d32"></a><!-- doxytag: member="boost::xint::detail::base_integer::_decrement" ref="a91e4b721c42445501b136a13d7ce9d32" args="(bool absolute_value=false)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_attach_1 </td>
+ <td class="memname">void boost::xint::detail::base_integer::_decrement </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 class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>absolute_value</em> = <code>false</code></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
+ <td></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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00313">313</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a00be0a0a2d19316259c54a8ced4e8451"></a><!-- doxytag: member="boost::xint::detail::base_integer::_attach_n" ref="a00be0a0a2d19316259c54a8ced4e8451" args="(boost::uintmax_t n)" -->
+<a class="anchor" id="a89015b1e803dbd5162f6b6e5f3ff374c"></a><!-- doxytag: member="boost::xint::detail::base_integer::_fixed_bits" ref="a89015b1e803dbd5162f6b6e5f3ff374c" args="() const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_attach_n </td>
+ <td class="memname">size_t boost::xint::detail::base_integer::_fixed_bits </td>
           <td>(</td>
- <td class="paramtype">boost::uintmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
+ <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
+ <td> const</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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00143">143</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="abdfe224ab8dae4dbd4cfdd16e6c0612f"></a><!-- doxytag: member="boost::xint::detail::base_integer::_base_make_unique" ref="abdfe224ab8dae4dbd4cfdd16e6c0612f" args="()" -->
+<a class="anchor" id="a546d2270418066857ddf948b20de4810"></a><!-- doxytag: member="boost::xint::detail::base_integer::_fixed_digits" ref="a546d2270418066857ddf948b20de4810" args="() const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_base_make_unique </td>
+ <td class="memname">size_t boost::xint::detail::base_integer::_fixed_digits </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
+ <td> const</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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00139">139</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ab74b3c73fe6560f1f760b1a94612b189"></a><!-- doxytag: member="boost::xint::detail::base_integer::_cleanup" ref="ab74b3c73fe6560f1f760b1a94612b189" args="()" -->
+<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">void boost::xint::detail::base_integer::_cleanup </td>
+ <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="paramname"></td>
- <td>&nbsp;)&nbsp;</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#l00136">136</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00063">63</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ad75a8d9bef5eb2d57cbac37cafd925eb"></a><!-- doxytag: member="boost::xint::detail::base_integer::_duplicate" ref="ad75a8d9bef5eb2d57cbac37cafd925eb" args="(const base_integer &amp;copy, size_t extra)" -->
+<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">void boost::xint::detail::base_integer::_duplicate </td>
+ <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">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>
+ <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#l00066">66</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00059">59</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a04f1087ed90152d3cc1b803b359951ab"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digit" ref="a04f1087ed90152d3cc1b803b359951ab" args="(size_t index, bool) const " -->
+<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"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> boost::xint::detail::base_integer::_get_digit </td>
+ <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="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em>, </td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
         </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00073">73</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7462afdf5589caa01bb1ed732f633469"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_length" ref="a7462afdf5589caa01bb1ed732f633469" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
         <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"></td><td>&nbsp;</td>
+ <td class="memname">size_t boost::xint::detail::base_integer::_get_length </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
         </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00077">77</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac9fbd48df9971107d98ff5840ee3557e"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_max_length" ref="ac9fbd48df9971107d98ff5840ee3557e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
         <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
+ <td class="memname">size_t boost::xint::detail::base_integer::_get_max_length </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00081">81</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aad96a1fe27c2b1da6fe933acc444d98f"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digit" ref="aad96a1fe27c2b1da6fe933acc444d98f" args="(size_t index) const " -->
+<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"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> boost::xint::detail::base_integer::_get_digit </td>
+ <td class="memname">bool boost::xint::detail::base_integer::_get_negative </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em></td>
+ <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td> const</td>
         </tr>
@@ -399,16 +522,16 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a4dbd638f790c50cfb2f68af5d3852372"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digits" ref="a4dbd638f790c50cfb2f68af5d3852372" args="() const " -->
+<a class="anchor" id="ac4692f68ae9b4c949680421c877dc400"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_readonly" ref="ac4692f68ae9b4c949680421c877dc400" args="() const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> * boost::xint::detail::base_integer::_get_digits </td>
+ <td class="memname">bool boost::xint::detail::base_integer::_get_readonly </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
@@ -417,18 +540,17 @@
       </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a9ee8727d51762352bba8ea8e3b8489f2"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_digits" ref="a9ee8727d51762352bba8ea8e3b8489f2" args="()" -->
+<a class="anchor" id="a355b981cef93f9c674fe4202b4d02d64"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_writable_digits" ref="a355b981cef93f9c674fe4202b4d02d64" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> * boost::xint::detail::base_integer::_get_digits </td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> * boost::xint::detail::base_integer::_get_writable_digits </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
@@ -438,35 +560,36 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00068">68</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a7462afdf5589caa01bb1ed732f633469"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_length" ref="a7462afdf5589caa01bb1ed732f633469" args="() const " -->
+<a class="anchor" id="ab47afee36e91b35b199b0ac3b6542ad2"></a><!-- doxytag: member="boost::xint::detail::base_integer::_increment" ref="ab47afee36e91b35b199b0ac3b6542ad2" args="(bool absolute_value=false)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">size_t boost::xint::detail::base_integer::_get_length </td>
+ <td class="memname">void boost::xint::detail::base_integer::_increment </td>
           <td>(</td>
- <td class="paramname"></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>absolute_value</em> = <code>false</code></td>
           <td>&nbsp;)&nbsp;</td>
- <td> const</td>
+ <td></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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00294">294</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a2a6ba9a67a9167e9535d735dacbaace7"></a><!-- doxytag: member="boost::xint::detail::base_integer::_get_negative" ref="a2a6ba9a67a9167e9535d735dacbaace7" args="() const " -->
+<a class="anchor" id="a70e40ee3b40acbc6a7dd55a7f8d5c13c"></a><!-- doxytag: member="boost::xint::detail::base_integer::_is_fixed" ref="a70e40ee3b40acbc6a7dd55a7f8d5c13c" args="() const " -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::detail::base_integer::_get_negative </td>
+ <td class="memname">bool boost::xint::detail::base_integer::_is_fixed </td>
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
@@ -476,7 +599,7 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00134">134</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -489,13 +612,13 @@
           <td>(</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline, protected]</code></td>
+ <td> const<code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00113">113</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00161">161</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -514,7 +637,7 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00126">126</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -533,7 +656,45 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29f37fcd3e14cd2b271d990edc3dbb56"></a><!-- doxytag: member="boost::xint::detail::base_integer::_log2" ref="a29f37fcd3e14cd2b271d990edc3dbb56" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::detail::base_integer::_log2 </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00089">89</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a685da8a208baf4f77502062d4cc0f062"></a><!-- doxytag: member="boost::xint::detail::base_integer::_make_unique" ref="a685da8a208baf4f77502062d4cc0f062" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_make_unique </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -553,27 +714,27 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a0980c3f09050640e8f33a9f10bcd2c38"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_n" ref="a0980c3f09050640e8f33a9f10bcd2c38" args="(boost::uintmax_t n)" -->
+<a class="anchor" id="a44cf0d0743513fe84addcaf2e66bb343"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_length" ref="a44cf0d0743513fe84addcaf2e66bb343" args="(size_t digits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_set_n </td>
+ <td class="memname">void boost::xint::detail::base_integer::_set_length </td>
           <td>(</td>
- <td class="paramtype">boost::uintmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>digits</em></td>
           <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
+ <td></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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00085">85</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -593,39 +754,38 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00154">154</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aea0cff03f7886f2c44747538e27ad7f1"></a><!-- doxytag: member="boost::xint::detail::base_integer::_shift_left" ref="aea0cff03f7886f2c44747538e27ad7f1" args="(size_t byBits)" -->
+<a class="anchor" id="a8e11790b0ec09eb4b74d2df00e63bf95"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_readonly" ref="a8e11790b0ec09eb4b74d2df00e63bf95" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_shift_left </td>
+ <td class="memname">void boost::xint::detail::base_integer::_set_readonly </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td>
+ <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</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#l00149">149</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a8236c349f72d154823d592123d94f218"></a><!-- doxytag: member="boost::xint::detail::base_integer::_shift_right" ref="a8236c349f72d154823d592123d94f218" args="(size_t byBits)" -->
+<a class="anchor" id="af81476d55eaf931ff396c82894c7f72d"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_signed" ref="af81476d55eaf931ff396c82894c7f72d" args="(boost::intmax_t n)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::detail::base_integer::_shift_right </td>
+ <td class="memname">void boost::xint::detail::base_integer::_set_signed </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td>
+ <td class="paramtype">boost::intmax_t&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -633,7 +793,36 @@
 </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>
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00113">113</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad87a527e2b5379b358484893a1cd8ebb"></a><!-- doxytag: member="boost::xint::detail::base_integer::_set_unsigned" ref="ad87a527e2b5379b358484893a1cd8ebb" args="(boost::uintmax_t n, bool negative=false)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_set_unsigned </td>
+ <td>(</td>
+ <td class="paramtype">boost::uintmax_t&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>negative</em> = <code>false</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00094">94</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -653,7 +842,140 @@
 </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>
+<a class="anchor" id="a6c2015c98805bf96d68aae1c13287a36"></a><!-- doxytag: member="boost::xint::detail::base_integer::_swap" ref="a6c2015c98805bf96d68aae1c13287a36" args="(base_integer &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_swap </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ee8597806a71bb2846b9b8eb8d05dce"></a><!-- doxytag: member="boost::xint::detail::base_integer::_to_integer" ref="a1ee8597806a71bb2846b9b8eb8d05dce" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::detail::base_integer::_to_integer </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00288">288</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2397061bb963562fd145ed5b4a6799ca"></a><!-- doxytag: member="boost::xint::detail::base_integer::_toggle_negative" ref="a2397061bb963562fd145ed5b4a6799ca" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::detail::base_integer::_toggle_negative </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="base__integer_8cpp_source.html#l00159">159</a> of file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="abd3bad49963ec70a929110fbb435832a"></a><!-- doxytag: member="boost::xint::detail::base_integer::base_variable_length_integer" ref="abd3bad49963ec70a929110fbb435832a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">base_variable_length_integer</a><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00213">213</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac1e1911bc92a092158db403a5412c561"></a><!-- doxytag: member="boost::xint::detail::base_integer::temp_t" ref="ac1e1911bc92a092158db403a5412c561" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">temp_t</a><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00212">212</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a988572f30ed3d8fc3b936eeec09724ef"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_fixedlength" ref="a988572f30ed3d8fc3b936eeec09724ef" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer::flag_fixedlength</a> = 0x04<code> [static, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00206">206</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a406617f773cbc0901a60290c5bc4dbac"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_negative" ref="a406617f773cbc0901a60290c5bc4dbac" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer::flag_negative</a> = 0x01<code> [static, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00204">204</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a993c7f7bfba3eec3cc5d1ed0fe7aa36c"></a><!-- doxytag: member="boost::xint::detail::base_integer::flag_readonly" ref="a993c7f7bfba3eec3cc5d1ed0fe7aa36c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer::flag_readonly</a> = 0x02<code> [static, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00205">205</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -662,7 +984,7 @@
 <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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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

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

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

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

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

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

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

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

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

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

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

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">boost::xint::divide_by_zero</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html#a67f133dc2856d38d2664f3c8d8c73fe4">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_1divide__by__zero.html">boost::xint::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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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="classboost_1_1xint_1_1divide__by__zero.html">divide_by_zero</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::divide_by_zero Class Reference</h1><!-- doxytag: class="boost::xint::divide_by_zero" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html#a67f133dc2856d38d2664f3c8d8c73fe4">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>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00685">685</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="a67f133dc2856d38d2664f3c8d8c73fe4"></a><!-- doxytag: member="boost::xint::divide_by_zero::divide_by_zero" ref="a67f133dc2856d38d2664f3c8d8c73fe4" 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::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="xint_8hpp_source.html#l00687">687</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1cannot__represent.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1divide__by__zero.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__argument.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__base.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__digit.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::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 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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1invalid__modulus.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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_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__modulus.html">invalid_modulus</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception::invalid_modulus Class Reference</h1><!-- doxytag: class="boost::xint::exception::invalid_modulus" -->
-<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__modulus.html#ab73f8c969e5a24b1245f3e6762767c43">invalid_modulus</a> (const std::string &amp;what=&quot;invalid modulus&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#l00054">54</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="ab73f8c969e5a24b1245f3e6762767c43"></a><!-- doxytag: member="boost::xint::exception::invalid_modulus::invalid_modulus" ref="ab73f8c969e5a24b1245f3e6762767c43" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::exception::invalid_modulus::invalid_modulus </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;invalid&nbsp;modulus&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#l00056">56</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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::exception::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1no__strong__random.html">boost::xint::exception::no_strong_random</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1no__strong__random.html#a50ec38265d2b627b0db9d52fcdd43b22">no_strong_random</a>(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1no__strong__random.html">boost::xint::exception::no_strong_random</a></td><td><code> [inline]</code></td></tr>
-</table></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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1no__strong__random.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,72 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exception::no_strong_random 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_1no__strong__random.html">no_strong_random</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception::no_strong_random Class Reference</h1><!-- doxytag: class="boost::xint::exception::no_strong_random" -->
-<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_1no__strong__random.html#a50ec38265d2b627b0db9d52fcdd43b22">no_strong_random</a> (const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Derived from <code>std::runtime_error</code>.</p>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown by the <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">xint::strong_random_generator</a> 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. </dd></dl>
-
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00109">109</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="a50ec38265d2b627b0db9d52fcdd43b22"></a><!-- doxytag: member="boost::xint::exception::no_strong_random::no_strong_random" ref="a50ec38265d2b627b0db9d52fcdd43b22" args="(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::exception::no_strong_random::no_strong_random </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;system&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;strong&nbsp;random&nbsp;generator&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#l00111">111</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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::exception::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">boost::xint::exception::not_a_number</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1not__a__number.html#a68017083435ebd194bc6dcf23db5ac7d">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">boost::xint::exception::not_a_number</a></td><td><code> [inline]</code></td></tr>
-</table></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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1not__a__number.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,72 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exception::not_a_number 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_1not__a__number.html">not_a_number</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception::not_a_number Class Reference</h1><!-- doxytag: class="boost::xint::exception::not_a_number" -->
-<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_1not__a__number.html#a68017083435ebd194bc6dcf23db5ac7d">not_a_number</a> (const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Derived from <code>std::runtime_error</code>.</p>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Most library functions will throw a <a class="el" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">not_a_number</a> exception if you try to use a <a class="el" href="nan.html">Not-a-Number value</a> in them. </dd></dl>
-
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00094">94</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="a68017083435ebd194bc6dcf23db5ac7d"></a><!-- doxytag: member="boost::xint::exception::not_a_number::not_a_number" ref="a68017083435ebd194bc6dcf23db5ac7d" args="(const std::string &amp;what=&quot;attempted to use a Not&#45;a&#45;Number&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::exception::not_a_number::not_a_number </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;attempted&nbsp;to&nbsp;use&nbsp;a&nbsp;Not-a-Number&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#l00096">96</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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::exception::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1overflow__error.html">boost::xint::exception::overflow_error</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1overflow__error.html#a0d564e0b899c1eedb99e36b35f53423b">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1overflow__error.html">boost::xint::exception::overflow_error</a></td><td><code> [inline]</code></td></tr>
-</table></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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1overflow__error.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,72 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exception::overflow_error 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_1overflow__error.html">overflow_error</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception::overflow_error Class Reference</h1><!-- doxytag: class="boost::xint::exception::overflow_error" -->
-<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_1overflow__error.html#a0d564e0b899c1eedb99e36b35f53423b">overflow_error</a> (const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Derived from <code>std::overflow_error</code>.</p>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown when the library can't get enough memory to represent a number. </dd></dl>
-
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00122">122</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="a0d564e0b899c1eedb99e36b35f53423b"></a><!-- doxytag: member="boost::xint::exception::overflow_error::overflow_error" ref="a0d564e0b899c1eedb99e36b35f53423b" args="(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::exception::overflow_error::overflow_error </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;overflow&nbsp;error:&nbsp;can't&nbsp;obtain&nbsp;enough&nbsp;memory&nbsp;to&nbsp;represent&nbsp;the&nbsp;requested&nbsp;number&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#l00124">124</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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::exception::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exception_1_1too__big.html">boost::xint::exception::too_big</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exception_1_1too__big.html#a9523b1e0ed7eda9ad95b1c424b10bb59">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exception_1_1too__big.html">boost::xint::exception::too_big</a></td><td><code> [inline]</code></td></tr>
-</table></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>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exception_1_1too__big.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exception::too_big 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_1too__big.html">too_big</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception::too_big Class Reference</h1><!-- doxytag: class="boost::xint::exception::too_big" -->
-<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_1too__big.html#a9523b1e0ed7eda9ad95b1c424b10bb59">too_big</a> (const std::string &amp;what=&quot;value out of range for requested conversion&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#l00081">81</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="a9523b1e0ed7eda9ad95b1c424b10bb59"></a><!-- doxytag: member="boost::xint::exception::too_big::too_big" ref="a9523b1e0ed7eda9ad95b1c424b10bb59" args="(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::exception::too_big::too_big </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;value&nbsp;out&nbsp;of&nbsp;range&nbsp;for&nbsp;requested&nbsp;conversion&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#l00083">83</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>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">cannot_represent</a>(const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00077">77</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="a0968d8ac61c24529816bcaf69d155b75"></a><!-- doxytag: member="boost::xint::exceptions::cannot_represent::cannot_represent" ref="a0968d8ac61c24529816bcaf69d155b75" args="(const std::string &amp;what=&quot;cannot represent the requested value&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00079">79</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00068">68</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="aaff4d720e4a134315acde919ff06e640"></a><!-- doxytag: member="boost::xint::exceptions::divide_by_zero::divide_by_zero" ref="aaff4d720e4a134315acde919ff06e640" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00070">70</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_argument Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(const std::string &amp;what=&quot;invalid argument&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00032">32</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="a8ba3e56172de34c772b287ce8e325f32"></a><!-- doxytag: member="boost::xint::exceptions::invalid_argument::invalid_argument" ref="a8ba3e56172de34c772b287ce8e325f32" args="(const std::string &amp;what=&quot;invalid argument&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00034">34</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00041">41</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="a4647071020547bd103ee885bec7edffa"></a><!-- doxytag: member="boost::xint::exceptions::invalid_base::invalid_base" ref="a4647071020547bd103ee885bec7edffa" args="(const std::string &amp;what=&quot;invalid base&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00043">43</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00050">50</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="abcdf43b30c3910dde89e406ca802eacc"></a><!-- doxytag: member="boost::xint::exceptions::invalid_digit::invalid_digit" ref="abcdf43b30c3910dde89e406ca802eacc" args="(const std::string &amp;what=&quot;invalid digit&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </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>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00052">52</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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#l00054">54</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00059">59</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="a16c06e28a7f483b0ca2fb5906d53278d"></a><!-- doxytag: member="boost::xint::exceptions::invalid_modulus::invalid_modulus" ref="a16c06e28a7f483b0ca2fb5906d53278d" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00056">56</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00061">61</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">no_strong_random</a>(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -39,7 +38,7 @@
 <p>Derived from <code>std::runtime_error</code>.</p>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown by the <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">xint::strong_random_generator</a> 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. </dd></dl>
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00109">109</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00114">114</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="ab225c7d5d10a03eac6d5e9c784135675"></a><!-- doxytag: member="boost::xint::exceptions::no_strong_random::no_strong_random" ref="ab225c7d5d10a03eac6d5e9c784135675" args="(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)" -->
 <div class="memitem">
@@ -57,7 +56,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00111">111</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00116">116</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -65,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -39,7 +38,7 @@
 <p>Derived from <code>std::runtime_error</code>.</p>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Most library functions will throw a <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a> exception if you try to use a <a class="el" href="nan.html">Not-a-Number value</a> in them. </dd></dl>
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00094">94</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00099">99</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="aa47b024550fd673bd497e0875443c67f"></a><!-- doxytag: member="boost::xint::exceptions::not_a_number::not_a_number" ref="aa47b024550fd673bd497e0875443c67f" args="(const std::string &amp;what=&quot;attempted to use a Not&#45;a&#45;Number&quot;)" -->
 <div class="memitem">
@@ -57,7 +56,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00096">96</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00101">101</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -65,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -39,7 +38,7 @@
 <p>Derived from <code>std::overflow_error</code>.</p>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown when the library can't get enough memory to represent a number. </dd></dl>
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00122">122</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00127">127</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="a767d8fbe5816d77fa0aadf9481d0bd5a"></a><!-- doxytag: member="boost::xint::exceptions::overflow_error::overflow_error" ref="a767d8fbe5816d77fa0aadf9481d0bd5a" args="(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)" -->
 <div class="memitem">
@@ -57,7 +56,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00124">124</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00129">129</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -65,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,7 +29,7 @@
 <h1>boost::xint::exceptions::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 <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#l00081">81</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00086">86</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="a111e2c1a759054d80afcd5fa4af2995c"></a><!-- doxytag: member="boost::xint::exceptions::too_big::too_big" ref="a111e2c1a759054d80afcd5fa4af2995c" args="(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)" -->
 <div class="memitem">
@@ -56,7 +55,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00083">83</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00088">88</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 
 </div>
 </div>
@@ -64,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::fixed_integer&lt; Bits &gt; Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">divide_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">fixed_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8ea211f55972c49956401951e3ae088b">fixed_integer</a>(const fixed_integer&lt; Bits &gt; &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae4a2bd977d06ebbb5449acc902648064">fixed_integer</a>(const base_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a9edb8090a8b2eb698f24fc6d74e591d8">fixed_integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aa302b0b3adb58cf7d79009058322f528">fixed_integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a18c23eb0b0d3491cc3fcfdb0b7805a46">fixed_integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a>(size_t count, detail::digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a>(detail::data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a>(const fixed_integer_any &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">operator!</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a49bd66c70cb6b121bfaea17627321779">operator%=</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a6b9fd6cf35616b29c03d621a1a2d8c83">operator&amp;=</a>(const fixed_integer_any &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">operator*=</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a>()</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acb3c1e3c5bf0395beed0ba9d58a39600">operator+</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">operator++</a>()</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a781e7f1612a68f1c35c2bc8d17d33b0c">operator++</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">operator+=</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">operator-</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">operator--</a>()</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a92b08d730aa7913ccc2b9860cda5cb1b">operator--</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">operator-=</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">operator/=</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">operator=</a>(const fixed_integer&lt; Bits &gt; &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">operator^=</a>(const fixed_integer_any &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">operator|=</a>(const fixed_integer_any &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">operator~</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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_1fixed__integer.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,971 @@
+<!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::fixed_integer&lt; Bits &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::fixed_integer&lt; Bits &gt; Class Template Reference</h1><!-- doxytag: class="boost::xint::fixed_integer" --><!-- doxytag: inherits="boost::xint::fixed_integer_any" -->
+<p>A fixed-size integer type.
+More...</p>
+<div class="dynheader">
+Inheritance diagram for boost::xint::fixed_integer&lt; Bits &gt;:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classboost_1_1xint_1_1fixed__integer.png" usemap="#boost::xint::fixed_integer&lt; Bits &gt;_map" alt=""/>
+ <map id="boost::xint::fixed_integer&lt; Bits &gt;_map" name="boost::xint::fixed_integer&lt; Bits &gt;_map">
+<area href="classboost_1_1xint_1_1fixed__integer__any.html" alt="boost::xint::fixed_integer_any" shape="rect" coords="0,56,190,80"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,190,24"/>
+</map>
+ </div>
+</div>
+
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a><br class="typebreak"/>
+&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">divide_t</a></td></tr>
+<tr><td colspan="2"><h2>Public Member 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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">even</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_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">hex_digits</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_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">odd</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_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">sign</a> (bool signed_zero=false) const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a18c23eb0b0d3491cc3fcfdb0b7805a46">fixed_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aa302b0b3adb58cf7d79009058322f528">fixed_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a9edb8090a8b2eb698f24fc6d74e591d8">fixed_integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ae4a2bd977d06ebbb5449acc902648064">fixed_integer</a> (const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts an existing xint type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8ea211f55972c49956401951e3ae088b">fixed_integer</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> with the same size. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">fixed_integer</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> with an initial value of zero. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts 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="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">operator!</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a49bd66c70cb6b121bfaea17627321779">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a6b9fd6cf35616b29c03d621a1a2d8c83">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acb3c1e3c5bf0395beed0ba9d58a39600">operator+</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a781e7f1612a68f1c35c2bc8d17d33b0c">operator++</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">operator++</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">operator-</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a92b08d730aa7913ccc2b9860cda5cb1b">operator--</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">operator&lt;&lt;</a> (size_t shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">operator&lt;&lt;=</a> (size_t shift)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">operator&gt;&gt;</a> (size_t shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">operator&gt;&gt;=</a> (size_t shift)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">operator~</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Bitwise Ones' Complement (i.e. bitwise NOT) operator. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;size_t Bits&gt;<br/>
+ class boost::xint::fixed_integer&lt; Bits &gt;</h3>
+
+<p>A fixed-size integer type. </p>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Bits</em>&nbsp;</td><td>The number of bits that the magnitude of the fixed_integer type should be limited to. This can be any number greater than zero.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>fixed_integer types are more processor-efficient than variable-sized integers, because they seldom need to do any allocation once they're created. However, they can be less memory-efficient for holding smaller values. They also silently discard the upper bits on any value that is too big for them, which can bite the unwary.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>The number of bits refers only to the unsigned magnitude of the number. The sign is stored separately. This means that, for example, a <code>fixed_integer&lt;8&gt;</code> has a range of -255 to +255, not -128 to +127 like an <code>int8_t</code>.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>Also note that when calculating with fixed_integer types, the number does not "wrap around" when it exceeds the type's size like the built-in signed integer types do. It is truncated to the lower bits instead. For example, <code>fixed_integer&lt;8&gt;(-255) - 1</code> and <code>fixed_integer&lt;8&gt;(255) + 1</code> will both be zero. However, the sign (on non-zero answers) is preserved, so <code>fixed_integer&lt;8&gt;(-255) - 2</code> will be -1. </dd></dl>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00051">51</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<hr/><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a5488c21218c4590496962b5fee817e8e"></a><!-- doxytag: member="boost::xint::fixed_integer::divide_t" ref="a5488c21218c4590496962b5fee817e8e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt;<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt; &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1base__divide__t.html">divide_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00082">82</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2d8ad1fd4f6ac182679b151d304c54fa"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="a2d8ad1fd4f6ac182679b151d304c54fa" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> with an initial value of zero. </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00306">306</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8ea211f55972c49956401951e3ae088b"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="a8ea211f55972c49956401951e3ae088b" args="(const fixed_integer&lt; Bits &gt; &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a copy of an existing <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> with the same size. </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>b</em>&nbsp;</td><td>An existing integer of the same size.</td></tr>
+ </table>
+ </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="fixed__integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae4a2bd977d06ebbb5449acc902648064"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="ae4a2bd977d06ebbb5449acc902648064" args="(const base_integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline, explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Converts an existing xint type. </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>b</em>&nbsp;</td><td>An existing integer, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>, or <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> of a different size.</td></tr>
+ </table>
+ </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>
+<dl class="note"><dt><b>Note:</b></dt><dd>If the number represented by the parameter is too large to fit into the <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>, it is silently truncated, and only the lower bits are preserved. </dd></dl>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9edb8090a8b2eb698f24fc6d74e591d8"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="a9edb8090a8b2eb698f24fc6d74e591d8" args="(const std::string &amp;str, size_t base=10)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Create an integer from a string representation. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::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_1exceptions_1_1invalid__digit.html">exceptions::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 <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">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>
+<dl class="note"><dt><b>Note:</b></dt><dd>If the number represented by the parameter is too large to fit into the <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>, it is silently truncated, and only the lower bits are preserved. </dd></dl>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00343">343</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa302b0b3adb58cf7d79009058322f528"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="aa302b0b3adb58cf7d79009058322f528" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Constructs a new <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> object with the value of the built-in signed integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<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>
+<dl class="note"><dt><b>Note:</b></dt><dd>If the number represented by the parameter is too large to fit into the <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>, it is silently truncated, and only the lower bits are preserved. </dd></dl>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00366">366</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a18c23eb0b0d3491cc3fcfdb0b7805a46"></a><!-- doxytag: member="boost::xint::fixed_integer::fixed_integer" ref="a18c23eb0b0d3491cc3fcfdb0b7805a46" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Constructs a new integer object with the value of the built-in unsigned integer passed to it.</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>n</em>&nbsp;</td><td>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<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>
+<dl class="note"><dt><b>Note:</b></dt><dd>If the number represented by the parameter is too large to fit into the <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>, it is silently truncated, and only the lower bits are preserved. </dd></dl>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00391">391</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a45f3960bff5c408403644fcc421edeac"></a><!-- doxytag: member="boost::xint::fixed_integer::even" ref="a45f3960bff5c408403644fcc421edeac" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::even </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the lowest bit of <code>*this</code> to determine evenness. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00407">407</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7234a3a5bea21f0045cee62e5427f3bf"></a><!-- doxytag: member="boost::xint::fixed_integer::hex_digits" ref="a7234a3a5bea21f0045cee62e5427f3bf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::hex_digits </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tells you roughly how large <code>*this</code> is. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00420">420</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7cf3f89f994ac21e3858c3b0cdf7d8c7"></a><!-- doxytag: member="boost::xint::fixed_integer::odd" ref="a7cf3f89f994ac21e3858c3b0cdf7d8c7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::odd </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the lowest bit of <code>*this</code> to determine oddness. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae2f227bfbdf7f7f4b69a968ae491f8df"></a><!-- doxytag: member="boost::xint::fixed_integer::operator!" ref="ae2f227bfbdf7f7f4b69a968ae491f8df" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator! </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00056">56</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a49bd66c70cb6b121bfaea17627321779"></a><!-- doxytag: member="boost::xint::fixed_integer::operator%=" ref="a49bd66c70cb6b121bfaea17627321779" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator%= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6b9fd6cf35616b29c03d621a1a2d8c83"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&amp;=" ref="a6b9fd6cf35616b29c03d621a1a2d8c83" args="(const fixed_integer_any &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator&amp;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3f19202d563bcee5fce090d09e353dc6"></a><!-- doxytag: member="boost::xint::fixed_integer::operator*=" ref="a3f19202d563bcee5fce090d09e353dc6" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator*= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acb3c1e3c5bf0395beed0ba9d58a39600"></a><!-- doxytag: member="boost::xint::fixed_integer::operator+" ref="acb3c1e3c5bf0395beed0ba9d58a39600" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00059">59</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a195d3683bf389a1d3467a90c4f797b20"></a><!-- doxytag: member="boost::xint::fixed_integer::operator+" ref="a195d3683bf389a1d3467a90c4f797b20" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00058">58</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a781e7f1612a68f1c35c2bc8d17d33b0c"></a><!-- doxytag: member="boost::xint::fixed_integer::operator++" ref="a781e7f1612a68f1c35c2bc8d17d33b0c" args="(int)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator++ </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Postincrement operator -- not recommended, inefficient </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00495">495</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a045819216daea2ec2509066310d1755d"></a><!-- doxytag: member="boost::xint::fixed_integer::operator++" ref="a045819216daea2ec2509066310d1755d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator++ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Preincrement operator </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00483">483</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aee99171535628c8466999d3bdc2b7516"></a><!-- doxytag: member="boost::xint::fixed_integer::operator+=" ref="aee99171535628c8466999d3bdc2b7516" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aac0ac16865a09e299593891ae0399139"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&#45;" ref="aac0ac16865a09e299593891ae0399139" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator- </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00057">57</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a92b08d730aa7913ccc2b9860cda5cb1b"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&#45;&#45;" ref="a92b08d730aa7913ccc2b9860cda5cb1b" args="(int)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator-- </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Postdecrement operator -- not recommended, inefficient </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00502">502</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4623f3c93f327cb2fc426cf3c1c14e1e"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&#45;&#45;" ref="a4623f3c93f327cb2fc426cf3c1c14e1e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator-- </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Predecrement operator </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00489">489</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8269a74cf9ed0dd4fbf7fb348cb35626"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&#45;=" ref="a8269a74cf9ed0dd4fbf7fb348cb35626" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3ea864bd2849226218e5e5fa4332bac3"></a><!-- doxytag: member="boost::xint::fixed_integer::operator/=" ref="a3ea864bd2849226218e5e5fa4332bac3" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator/= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2caf7d4d873d7805beb2e62ddcb9b4f3"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&lt;&lt;" ref="a2caf7d4d873d7805beb2e62ddcb9b4f3" args="(size_t shift) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00469">469</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac78f10b3130a60ba9d5e392ddb5629f3"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&lt;&lt;=" ref="ac78f10b3130a60ba9d5e392ddb5629f3" args="(size_t shift)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator&lt;&lt;= </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00457">457</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8cd90bde9fd2284d2260986b9f23b3c7"></a><!-- doxytag: member="boost::xint::fixed_integer::operator=" ref="a8cd90bde9fd2284d2260986b9f23b3c7" args="(const fixed_integer&lt; Bits &gt; &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00053">53</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a472d2d3147f4e762efdce04fdf50efa9"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&gt;&gt;" ref="a472d2d3147f4e762efdce04fdf50efa9" args="(size_t shift) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator&gt;&gt; </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00476">476</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aea1a25705a83f84b416e3aabd0d30d01"></a><!-- doxytag: member="boost::xint::fixed_integer::operator&gt;&gt;=" ref="aea1a25705a83f84b416e3aabd0d30d01" args="(size_t shift)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator&gt;&gt;= </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00463">463</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acd4a98a6eb089b7f806b74607249f027"></a><!-- doxytag: member="boost::xint::fixed_integer::operator^=" ref="acd4a98a6eb089b7f806b74607249f027" args="(const fixed_integer_any &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator^= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab24851149e1e43675669f79421feb0c6"></a><!-- doxytag: member="boost::xint::fixed_integer::operator|=" ref="ab24851149e1e43675669f79421feb0c6" args="(const fixed_integer_any &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt;Bits&gt;&amp; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator|= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8741f3260d2a5a74c4d5cedf8a7d2a82"></a><!-- doxytag: member="boost::xint::fixed_integer::operator~" ref="a8741f3260d2a5a74c4d5cedf8a7d2a82" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::operator~ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The Bitwise Ones' Complement (i.e. bitwise NOT) operator. </p>
+<p>This operator does not exist in the integer and <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> classes, because as their lengths are not limited, it would result in an infinitely long number. </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00431">431</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82f0342baba940b21f046be76b3a1fc9"></a><!-- doxytag: member="boost::xint::fixed_integer::sign" ref="a82f0342baba940b21f046be76b3a1fc9" args="(bool signed_zero=false) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt;::sign </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>signed_zero</em> = <code>false</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the sign of <code>*this</code>. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>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>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00413">413</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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_1fixed__integer.png
==============================================================================
Binary file. No diff available.

Added: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::fixed_integer_any Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">_get_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">fixed_integer_any</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a>(size_t count, detail::digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a>(detail::data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a>(const fixed_integer_any &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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_1fixed__integer__any.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,225 @@
+<!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::fixed_integer_any Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::fixed_integer_any Class Reference</h1><!-- doxytag: class="boost::xint::fixed_integer_any" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
+<p>The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types.
+More...</p>
+<div class="dynheader">
+Inheritance diagram for boost::xint::fixed_integer_any:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classboost_1_1xint_1_1fixed__integer__any.png" usemap="#boost::xint::fixed_integer_any_map" alt=""/>
+ <map id="boost::xint::fixed_integer_any_map" name="boost::xint::fixed_integer_any_map">
+<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,190,24"/>
+<area href="classboost_1_1xint_1_1fixed__integer.html" alt="boost::xint::fixed_integer&lt; Bits &gt;" shape="rect" coords="0,112,190,136"/>
+</map>
+ </div>
+</div>
+
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Automatic conversion operators.</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrpcf300c6907e4dc517ceded2f8cbac54f"></a> These allow the compiler to create a temporary <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>, of the size of boost::uintmax_t, for proper comparisons between <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types and literals. They shouldn't be used for any other purposes. </p>
+<br/><br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">fixed_integer_any</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *adopt, bool neg=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">fixed_integer_any</a> (size_t count, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> mask)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. </p>
+<p>This class eases operations on different-sized <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. </p>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00314">314</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af6e682f145aaa5ceea6f8d81bf533442"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="af6e682f145aaa5ceea6f8d81bf533442" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00322">322</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3ad49f5095f367b7e19aa3becb3464b3"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="a3ad49f5095f367b7e19aa3becb3464b3" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00328">328</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa1c3b00ad3be70fb2d42dd86fcfe3a00"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="aa1c3b00ad3be70fb2d42dd86fcfe3a00" args="(size_t count, detail::digit_t mask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </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">detail::digit_t</a>&nbsp;</td>
+ <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00335">335</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9f0620259b6e2cdf3ea6e2bad2a21d22"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="a9f0620259b6e2cdf3ea6e2bad2a21d22" args="(detail::data_t *adopt, bool neg=false)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>adopt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>neg</em> = <code>false</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, explicit, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00337">337</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abdd088ce22d3afd4a8c3dcc402401ace"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="abdd088ce22d3afd4a8c3dcc402401ace" args="(const fixed_integer_any &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::fixed_integer_any::fixed_integer_any </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline, explicit, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00339">339</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&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_1fixed__integer__any.png
==============================================================================
Binary file. No diff available.

Modified: sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,55 +28,78 @@
 <div class="contents">
 <h1>boost::xint::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">divide_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">integer</a>(BOOST_XINT_RV_REF(integer) b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acc0aea50091f653fb983373e12fc815e">integer</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a963c15aab569fc6c93f5c8a42f7b2544">integer</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">operator!</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">operator+</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">operator+</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">operator++</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">operator-</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">operator--</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">operator=</a>(const integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">operator=</a>(BOOST_XINT_COPY_ASSIGN_REF(integer) c)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">operator=</a>(BOOST_XINT_RV_REF(integer) c)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">operator=</a>(const T &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
@@ -86,7 +108,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,7 +28,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::integer Class Reference</h1><!-- doxytag: class="boost::xint::integer" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
+<h1>boost::xint::integer Class Reference</h1><!-- doxytag: class="boost::xint::integer" --><!-- doxytag: inherits="boost::xint::detail::base_variable_length_integer" -->
 <p>The core integer class.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
@@ -38,79 +37,103 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1integer.png" usemap="#boost::xint::integer_map" alt=""/>
   <map id="boost::xint::integer_map" name="boost::xint::integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="0,56,276,80"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,276,24"/>
 </map>
  </div>
 </div>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt; <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">divide_t</a></td></tr>
 <tr><td colspan="2"><h2>Public Member 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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">hex_digits</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells you roughly how large <code>*this</code> is. <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_1integer.html#a5d17a8184d20e7829273f769550954c1">odd</a> () const </td></tr>
+<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">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">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 colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
 </div></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_1integer.html#a33ad2603be1c3ae3823523265f7ee600">integer</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer with an initial value of zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">integer</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acc0aea50091f653fb983373e12fc815e">integer</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an integer from a string representation. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an integer from a string representation. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a963c15aab569fc6c93f5c8a42f7b2544">integer</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from any <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acc0aea50091f653fb983373e12fc815e">integer</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">integer</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>) b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">integer</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">integer</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer with an initial value of zero. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
 <p>Note that there is no <code>operator~</code>. Since the integer type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</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_1integer.html#aea3d83dfa135c8833620ce96aece1743">operator!</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">operator+</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">operator+</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">operator++</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">operator-</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a> (size_t shift) const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">operator&lt;&lt;=</a> (size_t shift)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">operator=</a> (const T &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">operator=</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>) c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">operator=</a> (BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>) c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a> (size_t shift) const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">odd</a> () const </td></tr>
-<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_1integer.html#afa36410b307d227f66657ea6f2116bdb">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_1integer.html#a6821767d0ec6c762a4c1002944550aae">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_1integer.html#af9206e301a190df90fa2e76a30238c6f">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_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</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>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> 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. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a> ()</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The core integer class. </p>
 <p>This class implements the standard <code>integer</code> type.</p>
-<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>There are only a few member functions; most of the functionality is implemented using standalone functions. </p>
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00033">33</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<hr/><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a5c47ab8e93d541e298dcfa3d73845d5a"></a><!-- doxytag: member="boost::xint::integer::divide_t" ref="a5c47ab8e93d541e298dcfa3d73845d5a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt;<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&gt; <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::integer::divide_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00039">39</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00110">110</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
+</div>
+</div>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a33ad2603be1c3ae3823523265f7ee600"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a33ad2603be1c3ae3823523265f7ee600" args="()" -->
 <div class="memitem">
@@ -129,7 +152,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#l00029">29</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#l00027">27</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -152,14 +175,34 @@
 <p>Creates a copy of an existing integer. </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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b</em>&nbsp;</td><td>An existing integer.</td></tr>
   </table>
   </dd>
 </dl>
 <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#l00044">44</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#l00041">41</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36f03940af78fea1a821a51678a26104"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a36f03940af78fea1a821a51678a26104" args="(BOOST_XINT_RV_REF(integer) b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>)&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00040">40</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -189,7 +232,36 @@
 <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#l00058">58</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#l00055">55</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a963c15aab569fc6c93f5c8a42f7b2544"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a963c15aab569fc6c93f5c8a42f7b2544" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates an integer from any <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> type. </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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>.</td></tr>
+ </table>
+ </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#l00066">66</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -219,6 +291,9 @@
 <div class="memdoc">
 
 <p>Create an integer from a string representation. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
@@ -237,7 +312,7 @@
 <dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize values that are too large to fit into a native integral type.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00084">84</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00093">93</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -289,7 +364,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00234">234</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00231">231</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -341,30 +416,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="integer_8hpp_source.html#l00266">266</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00250">250</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a04331a88bb2a975a7349e0c04cb230de"></a><!-- doxytag: member="boost::xint::integer::_make_unique" ref="a04331a88bb2a975a7349e0c04cb230de" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::integer::_make_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00088">88</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
 <a class="anchor" id="afa36410b307d227f66657ea6f2116bdb"></a><!-- doxytag: member="boost::xint::integer::even" ref="afa36410b307d227f66657ea6f2116bdb" args="() const " -->
 <div class="memitem">
 <div class="memproto">
@@ -381,9 +437,12 @@
 <div class="memdoc">
 
 <p>Tests the lowest bit of <code>*this</code> to determine evenness. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00104">104</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#l00113">113</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -402,10 +461,13 @@
 </div>
 <div class="memdoc">
 
-<p>Tells you roughly how large an integer is. </p>
+<p>Tells you roughly how large <code>*this</code> is. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00127">127</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#l00140">140</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -425,9 +487,12 @@
 <div class="memdoc">
 
 <p>Tests the lowest bit of <code>*this</code> to determine oddness. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00096">96</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#l00103">103</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -446,7 +511,26 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00199">199</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>
+<a class="anchor" id="aea3d83dfa135c8833620ce96aece1743"></a><!-- doxytag: member="boost::xint::integer::operator!" ref="aea3d83dfa135c8833620ce96aece1743" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::integer::operator! </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00065">65</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -466,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<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>
+<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>
@@ -486,7 +570,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -506,7 +590,45 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00162">162</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6e1e4356f6eebbd65e84d8717169acb"></a><!-- doxytag: member="boost::xint::integer::operator+" ref="aa6e1e4356f6eebbd65e84d8717169acb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&amp; boost::xint::integer::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00068">68</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe9c68f79efd13d349b532b2077c298f"></a><!-- doxytag: member="boost::xint::integer::operator+" ref="afe9c68f79efd13d349b532b2077c298f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&amp; boost::xint::integer::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00067">67</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -527,7 +649,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -547,7 +669,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -567,7 +689,26 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00132">132</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00145">145</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a974cdabaf176323354cf491820b2d22d"></a><!-- doxytag: member="boost::xint::integer::operator&#45;" ref="a974cdabaf176323354cf491820b2d22d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::integer::operator- </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#l00160">160</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -588,7 +729,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </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>
+<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>
@@ -608,7 +749,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -628,7 +769,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00146">146</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -648,7 +789,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -668,7 +809,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -688,18 +829,60 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acf5998b517a994c38766d28a0d946a21"></a><!-- doxytag: member="boost::xint::integer::operator=" ref="acf5998b517a994c38766d28a0d946a21" args="(const T &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&amp; boost::xint::integer::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00062">62</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a9ae8cfa93f2e43cf0471266c54b06be2"></a><!-- doxytag: member="boost::xint::integer::operator=" ref="a9ae8cfa93f2e43cf0471266c54b06be2" args="(const integer &amp;c)" -->
+<a class="anchor" id="a7092b058fd3f2450c5f6d6a0f6ae4a3c"></a><!-- doxytag: member="boost::xint::integer::operator=" ref="a7092b058fd3f2450c5f6d6a0f6ae4a3c" args="(BOOST_XINT_RV_REF(integer) c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&amp; boost::xint::integer::operator= </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>)&nbsp;</td>
+ <td class="paramname"> <em>c</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00061">61</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a81ff5a94d6895e1714e992fde407e7fa"></a><!-- doxytag: member="boost::xint::integer::operator=" ref="a81ff5a94d6895e1714e992fde407e7fa" args="(BOOST_XINT_COPY_ASSIGN_REF(integer) c)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator= </td>
           <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramtype">BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>)&nbsp;</td>
           <td class="paramname"> <em>c</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -708,7 +891,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00155">155</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -728,7 +911,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -748,7 +931,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00186">186</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -768,7 +951,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00176">176</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -788,7 +971,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -809,6 +992,9 @@
 <div class="memdoc">
 
 <p>Tests the sign of <code>*this</code>. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>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>
@@ -817,7 +1003,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>-1 if <code>*this</code> is negative, 0 if it's zero, or 1 if it's greater than zero. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00117">117</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>
@@ -836,7 +1022,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00194">194</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>
@@ -845,7 +1031,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 Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::invalid_base</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__base.html#a73c7125da5b1425c27b9f20aa3845078">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::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:00 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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="classboost_1_1xint_1_1invalid__base.html">invalid_base</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::invalid_base Class Reference</h1><!-- doxytag: class="boost::xint::invalid_base" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1invalid__base.html#a73c7125da5b1425c27b9f20aa3845078">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>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00655">655</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="a73c7125da5b1425c27b9f20aa3845078"></a><!-- doxytag: member="boost::xint::invalid_base::invalid_base" ref="a73c7125da5b1425c27b9f20aa3845078" 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::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="xint_8hpp_source.html#l00657">657</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html#a02be633b5225e22839b547c4b0e8d4ca">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::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:00 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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="classboost_1_1xint_1_1invalid__digit.html">invalid_digit</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::invalid_digit Class Reference</h1><!-- doxytag: class="boost::xint::invalid_digit" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1invalid__digit.html#a02be633b5225e22839b547c4b0e8d4ca">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>Exception class. </p>
-<p>Derived from <code>std::range_error</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00665">665</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="a02be633b5225e22839b547c4b0e8d4ca"></a><!-- doxytag: member="boost::xint::invalid_digit::invalid_digit" ref="a02be633b5225e22839b547c4b0e8d4ca" 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::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="xint_8hpp_source.html#l00667">667</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::invalid_modulus</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html#aab32f87b83c6d8deca7d3ce4e887e03b">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::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_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">invalid_modulus</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::invalid_modulus Class Reference</h1><!-- doxytag: class="boost::xint::invalid_modulus" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html#aab32f87b83c6d8deca7d3ce4e887e03b">invalid_modulus</a> (const std::string &amp;what=&quot;invalid modulus&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00675">675</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="aab32f87b83c6d8deca7d3ce4e887e03b"></a><!-- doxytag: member="boost::xint::invalid_modulus::invalid_modulus" ref="aab32f87b83c6d8deca7d3ce4e887e03b" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::invalid_modulus::invalid_modulus </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;invalid&nbsp;modulus&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="xint_8hpp_source.html#l00677">677</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1no__strong__random.html">boost::xint::no_strong_random</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1no__strong__random.html#a4c6cd31c06363212c0f1e21ba6718d58">no_strong_random</a>(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1no__strong__random.html">boost::xint::no_strong_random</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17: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>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::no_strong_random 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="classboost_1_1xint_1_1no__strong__random.html">no_strong_random</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::no_strong_random Class Reference</h1><!-- doxytag: class="boost::xint::no_strong_random" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1no__strong__random.html#a4c6cd31c06363212c0f1e21ba6718d58">no_strong_random</a> (const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::runtime_error</code>.</p>
-<dl class="note"><dt><b>Note:</b></dt><dd>Cannot be blocked.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown by the <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">xint::strong_random_generator</a> 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. </dd></dl>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00740">740</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="a4c6cd31c06363212c0f1e21ba6718d58"></a><!-- doxytag: member="boost::xint::no_strong_random::no_strong_random" ref="a4c6cd31c06363212c0f1e21ba6718d58" args="(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::no_strong_random::no_strong_random </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;system&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;strong&nbsp;random&nbsp;generator&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="xint_8hpp_source.html#l00742">742</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1not__a__number.html">boost::xint::not_a_number</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1not__a__number.html#a61a42fa00f7424f0e04e1f859fd40632">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1not__a__number.html">boost::xint::not_a_number</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17: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>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::not_a_number 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="classboost_1_1xint_1_1not__a__number.html">not_a_number</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::not_a_number Class Reference</h1><!-- doxytag: class="boost::xint::not_a_number" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1not__a__number.html#a61a42fa00f7424f0e04e1f859fd40632">not_a_number</a> (const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::runtime_error</code>.</p>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Most library functions will throw an <a class="el" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">xint::not_a_number</a> exception if you try to use a <a class="el" href="nan.html">Not-a-Number value </a> in them.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>See this page for details on Not-a-Number. </dd></dl>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00722">722</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="a61a42fa00f7424f0e04e1f859fd40632"></a><!-- doxytag: member="boost::xint::not_a_number::not_a_number" ref="a61a42fa00f7424f0e04e1f859fd40632" args="(const std::string &amp;what=&quot;attempted to use a Not&#45;a&#45;Number&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::not_a_number::not_a_number </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;attempted&nbsp;to&nbsp;use&nbsp;a&nbsp;Not-a-Number&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="xint_8hpp_source.html#l00724">724</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<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/classboost_1_1xint_1_1nothrow__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,57 +28,81 @@
 <div class="contents">
 <h1>boost::xint::nothrow_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(data_t *new_data, flag_t flags=0, size_t extra_allocation=0)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">_cleanup</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">_fixed_bits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">_fixed_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a04f1087ed90152d3cc1b803b359951ab">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac9fbd48df9971107d98ff5840ee3557e">_get_max_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#ac4692f68ae9b4c949680421c877dc400">_get_readonly</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">_get_writable_digits</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(bool absolute_value=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">_is_fixed</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">_is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aee70939aaa336233f62341cf7d595010">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">_make_unique</a>(bool)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_variable_length_integer::_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">_realloc</a>(size_t new_digit_count)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a44cf0d0743513fe84addcaf2e66bb343">_set_length</a>(size_t digits)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(bool neg)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(boost::intmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(boost::uintmax_t n, bool negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(const base_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#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#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(base_integer &amp;other)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">_to_integer</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">_toggle_negative</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab5e59c173051f19be31b5af9c2077de0">base_integer</a>(const base_integer &amp;c, bool fixed)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">base_integer</a>(data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [explicit, protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a160a243a54984431613c88fb7fbacb0c">base_integer</a>(size_t count, digit_t mask)</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">divide_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">flag_fixedlength</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">flag_negative</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">flag_readonly</a></td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">flag_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nan</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">nothrow_integer</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">nothrow_integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">nothrow_integer</a>(BOOST_XINT_RV_REF(nothrow_integer) b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">nothrow_integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">nothrow_integer</a>(const fixed_integer_any &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">nothrow_integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">nothrow_integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">nothrow_integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">operator!</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">operator%=</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">operator&amp;=</a>(const nothrow_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">operator*=</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">operator+</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">operator+</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">operator++</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">operator++</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">operator+=</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">operator-</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">operator--</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">operator--</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">operator-=</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">operator/=</a>(const nothrow_integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a8d0c877ae53afb89d00c021f10dce67a">operator=</a>(const nothrow_integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">operator=</a>(BOOST_XINT_COPY_ASSIGN_REF(nothrow_integer) c)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">operator=</a>(BOOST_XINT_RV_REF(nothrow_integer) c)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">operator=</a>(const T &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">operator^=</a>(const nothrow_integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
@@ -88,7 +111,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,7 +28,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::nothrow_integer Class Reference</h1><!-- doxytag: class="boost::xint::nothrow_integer" --><!-- doxytag: inherits="boost::xint::detail::base_integer" -->
+<h1>boost::xint::nothrow_integer Class Reference</h1><!-- doxytag: class="boost::xint::nothrow_integer" --><!-- doxytag: inherits="boost::xint::detail::base_variable_length_integer" -->
 <p>The nothrow_integer class.
 <a href="#_details">More...</a></p>
 <div class="dynheader">
@@ -38,75 +37,103 @@
  <div class="center">
   <img src="classboost_1_1xint_1_1nothrow__integer.png" usemap="#boost::xint::nothrow_integer_map" alt=""/>
   <map id="boost::xint::nothrow_integer_map" name="boost::xint::nothrow_integer_map">
-<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,182,24"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" alt="boost::xint::detail::base_variable_length_integer" shape="rect" coords="0,56,276,80"/>
+<area href="classboost_1_1xint_1_1detail_1_1base__integer.html" alt="boost::xint::detail::base_integer" shape="rect" coords="0,0,276,24"/>
 </map>
  </div>
 </div>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a><br class="typebreak"/>
+&lt; <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">divide_t</a></td></tr>
 <tr><td colspan="2"><h2>Public 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_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">_make_unique</a> (bool)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For internal use only. <br/></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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">even</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_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">hex_digits</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_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">odd</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_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">sign</a> (bool signed_zero=false) const </td></tr>
 <tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
 </div></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_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_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_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">nothrow_integer</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">nothrow_integer</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> from an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">nothrow_integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">nothrow_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">nothrow_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">nothrow_integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">nothrow_integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">nothrow_integer</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> from any <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">nothrow_integer</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> from an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">nothrow_integer</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>) b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">nothrow_integer</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a> ()</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
 <p>Note that there is no <code>operator~</code>. Since the <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a8d0c877ae53afb89d00c021f10dce67a">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</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_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">operator!</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">operator+</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">operator+</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#adf0e88fe1177733ae70496aa1a53a14d">operator++</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">operator++</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">operator-</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#added2905dcd5b61db7fc6672831fc4eb">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">operator&gt;&gt;</a> (size_t shift) const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">operator&lt;&lt;=</a> (size_t shift)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">operator=</a> (const T &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">operator=</a> (BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>) c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">operator=</a> (BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>) c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">operator&gt;&gt;</a> (size_t shift) const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></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="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">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_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">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_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">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_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">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_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">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_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">_make_unique</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</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>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> 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. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nan</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a> ()</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The nothrow_integer class. </p>
 <p>Functions using this class do not throw exceptions, they return special values (most often <a class="el" href="nan.html">Not-a-Number</a>) to indicate failures.</p>
-<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>There are only a few member functions; most of the functionality is implemented using standalone functions. </p>
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00034">34</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<hr/><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a65b4d583927453701d33aa35d727132a"></a><!-- doxytag: member="boost::xint::nothrow_integer::divide_t" ref="a65b4d583927453701d33aa35d727132a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a>&lt;<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&gt; <a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::nothrow_integer::divide_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00118">118</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00040">40</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+</div>
+</div>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="add8423c7b0d729fe93a8aabf49d333ae"></a><!-- doxytag: member="boost::xint::nothrow_integer::nothrow_integer" ref="add8423c7b0d729fe93a8aabf49d333ae" args="()" -->
 <div class="memitem">
@@ -143,16 +170,38 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Creates a copy of an existing integer. <dl><dt><b>Parameters:</b></dt><dd>
+
+<p>Creates a copy of an existing integer. </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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
   </table>
   </dd>
 </dl>
 <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>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4f3ccc72b53d0f088b7fe897cd1c121c"></a><!-- doxytag: member="boost::xint::nothrow_integer::nothrow_integer" ref="a4f3ccc72b53d0f088b7fe897cd1c121c" args="(BOOST_XINT_RV_REF(nothrow_integer) b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::nothrow_integer::nothrow_integer </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>)&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00039">39</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00041">41</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -166,7 +215,7 @@
           <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
           <td class="paramname"> <em>b</em></td>
           <td>&nbsp;)&nbsp;</td>
- <td></td>
+ <td><code> [explicit]</code></td>
         </tr>
       </table>
 </div>
@@ -182,7 +231,36 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00057">57</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00067">67</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6314aa9f8ff03ce52152febc6444a58"></a><!-- doxytag: member="boost::xint::nothrow_integer::nothrow_integer" ref="aa6314aa9f8ff03ce52152febc6444a58" args="(const fixed_integer_any &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::nothrow_integer::nothrow_integer </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> from any <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> type. </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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00081">81</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -210,7 +288,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Create an integer from a string representation. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Create an integer from a string representation. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</td></tr>
@@ -228,7 +309,7 @@
 <dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize values that are too large to fit into a native integral type.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00066">66</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00090">90</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -280,7 +361,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00266">266</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00268">268</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -332,18 +413,19 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00289">289</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00291">291</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a3351e2aacd5477008fd96bdf0c72d0b8"></a><!-- doxytag: member="boost::xint::nothrow_integer::_make_unique" ref="a3351e2aacd5477008fd96bdf0c72d0b8" args="()" -->
+<a class="anchor" id="aae36cdd1ec2d4d51116ae52ce2863803"></a><!-- doxytag: member="boost::xint::nothrow_integer::_make_unique" ref="aae36cdd1ec2d4d51116ae52ce2863803" args="(bool)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void boost::xint::nothrow_integer::_make_unique </td>
           <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
           <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -352,7 +434,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00203">203</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>For internal use only. </p>
+
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00238">238</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -370,11 +454,14 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Tests the lowest bit of <code>*this</code> to determine evenness. <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>Tests the lowest bit of <code>*this</code> to determine evenness. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns <code>false</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00087">87</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00111">111</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -392,11 +479,14 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Tells you roughly how large an integer is. <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>Tells you roughly how large <code>*this</code> is. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00106">106</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -419,7 +509,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is Not-a-Number, otherwise <code>false</code>.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="nan.html">The Not-a-Number Value</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00120">120</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00145">145</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -438,7 +528,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00194">194</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00229">229</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -456,11 +546,14 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Tests the lowest bit of <code>*this</code> to determine oddness. <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>Tests the lowest bit of <code>*this</code> to determine oddness. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns <code>false</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00078">78</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00102">102</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -479,7 +572,26 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00189">189</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00221">221</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5c162cb498d430ec65e79545250c1c81"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator!" ref="a5c162cb498d430ec65e79545250c1c81" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::nothrow_integer::operator! </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00068">68</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -499,7 +611,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00153">153</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -519,7 +631,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00162">162</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00191">191</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -539,7 +651,45 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00151">151</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a37e56a3b97e84de6db5cb155ea9fed5f"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator+" ref="a37e56a3b97e84de6db5cb155ea9fed5f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&amp; boost::xint::nothrow_integer::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00071">71</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a18c813db088f90deafaaa8c76d6fe0fe"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator+" ref="a18c813db088f90deafaaa8c76d6fe0fe" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&amp; boost::xint::nothrow_integer::operator+ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00070">70</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -560,7 +710,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00157">157</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00186">186</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -580,7 +730,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00155">155</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -600,7 +750,26 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00124">124</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00149">149</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6089e2a54dca7cda0d81bb2056f811a6"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator&#45;" ref="a6089e2a54dca7cda0d81bb2056f811a6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::nothrow_integer::operator- </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="nothrow__integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -621,7 +790,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00187">187</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -641,7 +810,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00156">156</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00185">185</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -661,7 +830,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00133">133</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -681,7 +850,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00152">152</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00181">181</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -701,7 +870,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00189">189</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -721,18 +890,60 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00195">195</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a558df5742e0845bf59821fc3c8497a2f"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator=" ref="a558df5742e0845bf59821fc3c8497a2f" args="(const T &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&amp; boost::xint::nothrow_integer::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00065">65</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4f522133dbe1ed73936bbaf3a3ab0178"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator=" ref="a4f522133dbe1ed73936bbaf3a3ab0178" args="(BOOST_XINT_RV_REF(nothrow_integer) c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&amp; boost::xint::nothrow_integer::operator= </td>
+ <td>(</td>
+ <td class="paramtype">BOOST_XINT_RV_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>)&nbsp;</td>
+ <td class="paramname"> <em>c</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00063">63</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a8d0c877ae53afb89d00c021f10dce67a"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator=" ref="a8d0c877ae53afb89d00c021f10dce67a" args="(const nothrow_integer &amp;c)" -->
+<a class="anchor" id="a7d5c5c2598e74fc68ce5ab24b75bdc94"></a><!-- doxytag: member="boost::xint::nothrow_integer::operator=" ref="a7d5c5c2598e74fc68ce5ab24b75bdc94" args="(BOOST_XINT_COPY_ASSIGN_REF(nothrow_integer) c)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp; boost::xint::nothrow_integer::operator= </td>
           <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td>
+ <td class="paramtype">BOOST_XINT_COPY_ASSIGN_REF(<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>)&nbsp;</td>
           <td class="paramname"> <em>c</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -741,7 +952,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00142">142</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00167">167</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -761,7 +972,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00161">161</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00190">190</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -781,7 +992,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00204">204</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -801,7 +1012,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -821,7 +1032,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -840,7 +1051,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Tests the sign of <code>*this</code>. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Tests the sign of <code>*this</code>. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>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>
@@ -850,7 +1064,7 @@
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00096">96</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00120">120</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -869,7 +1083,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8cpp_source.html#l00213">213</a> of file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -878,7 +1092,7 @@
 <li><a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:27 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1overflow__error.html">boost::xint::overflow_error</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1overflow__error.html#a6f37c836a5c2083a7be660c0bf1aeb00">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1overflow__error.html">boost::xint::overflow_error</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::overflow_error 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="classboost_1_1xint_1_1overflow__error.html">overflow_error</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::overflow_error Class Reference</h1><!-- doxytag: class="boost::xint::overflow_error" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1overflow__error.html#a6f37c836a5c2083a7be660c0bf1aeb00">overflow_error</a> (const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::overflow_error</code>.</p>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown when the library can't get enough memory to represent a number. </dd></dl>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00754">754</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="a6f37c836a5c2083a7be660c0bf1aeb00"></a><!-- doxytag: member="boost::xint::overflow_error::overflow_error" ref="a6f37c836a5c2083a7be660c0bf1aeb00" args="(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::overflow_error::overflow_error </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;overflow&nbsp;error:&nbsp;can't&nbsp;obtain&nbsp;enough&nbsp;memory&nbsp;to&nbsp;represent&nbsp;the&nbsp;requested&nbsp;number&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="xint_8hpp_source.html#l00756">756</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<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/classboost_1_1xint_1_1strong__random__generator-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -39,7 +38,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -38,16 +37,16 @@
 <tr><td colspan="2"><h2>Public Types</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a></td></tr>
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">entropy</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">max</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">min</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">min</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">max</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">entropy</a> () const </td></tr>
 <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">has_fixed_range</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">min_value</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">max_value</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">min_value</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>A convenience class for cryptographically-secure random numbers. </p>
@@ -87,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00160">160</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00180">180</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -106,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00161">161</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00181">181</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -177,7 +176,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00162">162</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00182">182</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -236,7 +235,7 @@
 <li><a class="el" href="random_8cpp_source.html">random.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:28 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1too__big.html">boost::xint::too_big</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1too__big.html#a91ca4f8a23e008c2ffc13608179226f3">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1too__big.html">boost::xint::too_big</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;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1too__big.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1too__big.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::too_big 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="classboost_1_1xint_1_1too__big.html">too_big</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::too_big Class Reference</h1><!-- doxytag: class="boost::xint::too_big" -->
-<p>Exception class.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1too__big.html#a91ca4f8a23e008c2ffc13608179226f3">too_big</a> (const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::range_error</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00705">705</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="a91ca4f8a23e008c2ffc13608179226f3"></a><!-- doxytag: member="boost::xint::too_big::too_big" ref="a91ca4f8a23e008c2ffc13608179226f3" args="(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::too_big::too_big </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;value&nbsp;out&nbsp;of&nbsp;range&nbsp;for&nbsp;requested&nbsp;conversion&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="xint_8hpp_source.html#l00707">707</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</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;
-<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/classdisable__boost__rv__ref.html (from r61346, /sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html)
==============================================================================
--- /sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html (original)
+++ sandbox/xint/doc/classdisable__boost__rv__ref.html 2010-04-30 00:35:51 EDT (Fri, 30 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: Member List</title>
+<title>The Extended Integer (XInt) Library: disable_boost_rv_ref&lt; T &gt; Class Template Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -27,10 +26,19 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html#a02be633b5225e22839b547c4b0e8d4ca">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::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:00 2010 for The Extended Integer (XInt) Library by&nbsp;
+<h1>disable_boost_rv_ref&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="disable_boost_rv_ref" --><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T&gt;<br/>
+ class disable_boost_rv_ref&lt; T &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00047">47</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Added: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt; Member List</h1>This is the complete list of members for <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">denorm_min</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">digits</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">digits10</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">epsilon</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">has_denorm</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">has_denorm_loss</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">has_infinity</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">has_quiet_NaN</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">has_signaling_NaN</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">infinity</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">is_bounded</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">is_exact</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">is_iec559</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">is_integer</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">is_modulo</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">is_signed</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">is_specialized</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">max</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">max_exponent</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">max_exponent10</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">min</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">min_exponent</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">min_exponent10</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">quiet_NaN</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">radix</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">round_error</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">round_style</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">signaling_NaN</a>()</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,643 @@
+<!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: std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespacestd.html">std</a>::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt; Class Template Reference</h1><!-- doxytag: class="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;" -->
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">denorm_min</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">epsilon</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">infinity</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">max</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">min</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">quiet_NaN</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">round_error</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a><br class="typebreak"/>
+&lt; Bits &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">signaling_NaN</a> () throw ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">digits</a> = Bits</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">digits10</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const float_denorm_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">has_denorm</a> = denorm_absent</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">has_denorm_loss</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">has_infinity</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">has_quiet_NaN</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">has_signaling_NaN</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">is_bounded</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">is_exact</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">is_iec559</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">is_integer</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">is_modulo</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">is_signed</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">is_specialized</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">max_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">max_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">min_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">min_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">radix</a> = 2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const float_round_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">round_style</a> = round_indeterminate</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">tinyness_before</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">traps</a> = true</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;size_t Bits&gt;<br/>
+ class std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00849">849</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab9768c5a665f9c13f70cfd29740a0640"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::denorm_min" ref="ab9768c5a665f9c13f70cfd29740a0640" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::denorm_min </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00881">881</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a239862be09dfc5de02900409bfc604ea"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::epsilon" ref="a239862be09dfc5de02900409bfc604ea" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::epsilon </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00864">864</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad54e2a2e4a48f60539f9e1499d10a575"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::infinity" ref="ad54e2a2e4a48f60539f9e1499d10a575" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::infinity </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00878">878</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a51292350938619b86e42bae334c5b715"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::max" ref="a51292350938619b86e42bae334c5b715" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::max </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00855">855</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a54615ee399b285914aa550e0eeae7f39"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::min" ref="a54615ee399b285914aa550e0eeae7f39" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::min </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00853">853</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82c7cc8a06198d6827a02475c8e31eae"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::quiet_NaN" ref="a82c7cc8a06198d6827a02475c8e31eae" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::quiet_NaN </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00879">879</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a65b810b33f8f992dff23add5af21c46e"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::round_error" ref="a65b810b33f8f992dff23add5af21c46e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::round_error </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00865">865</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa7dcc811ae4625174f75255a57be0a6f"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::signaling_NaN" ref="aa7dcc811ae4625174f75255a57be0a6f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt;Bits&gt; std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::signaling_NaN </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> throw ()<code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00880">880</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ad3e98855a62b258e681216a6ff9083c3"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::digits" ref="ad3e98855a62b258e681216a6ff9083c3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">digits</a> = Bits<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00858">858</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b85344ce9c9ce5a66e27373d854c378"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::digits10" ref="a0b85344ce9c9ce5a66e27373d854c378" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">digits10</a><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment">
+ <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a>(Bits))
+</pre></div>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00859">859</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a97aeaa6158ec8146c740b1974c08868e"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::has_denorm" ref="a97aeaa6158ec8146c740b1974c08868e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const float_denorm_style std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">has_denorm</a> = denorm_absent<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00875">875</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8318be63a6530eb99b1ce8a6472559af"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::has_denorm_loss" ref="a8318be63a6530eb99b1ce8a6472559af" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">has_denorm_loss</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00876">876</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6f1865061768dfe8d0bd5b50e931c163"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::has_infinity" ref="a6f1865061768dfe8d0bd5b50e931c163" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">has_infinity</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00872">872</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a113cd07ba3b16dd6278496e58d3f3dc7"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::has_quiet_NaN" ref="a113cd07ba3b16dd6278496e58d3f3dc7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">has_quiet_NaN</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00873">873</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac19b019e4042bee86427bdac0e8d49cb"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::has_signaling_NaN" ref="ac19b019e4042bee86427bdac0e8d49cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">has_signaling_NaN</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00874">874</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9547f495471bd63016167ef86e847330"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_bounded" ref="a9547f495471bd63016167ef86e847330" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">is_bounded</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00884">884</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a98088e6ad547b72b61ff5be0dbce2e5c"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_exact" ref="a98088e6ad547b72b61ff5be0dbce2e5c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">is_exact</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00862">862</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc062d3edf895f977a69930bbd2712c4"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_iec559" ref="acc062d3edf895f977a69930bbd2712c4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">is_iec559</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00883">883</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4bb885f7700371ba03ca74ad72185b44"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_integer" ref="a4bb885f7700371ba03ca74ad72185b44" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">is_integer</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00861">861</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7d3d991e72ddaafc7f365e9920b16c01"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_modulo" ref="a7d3d991e72ddaafc7f365e9920b16c01" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">is_modulo</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00885">885</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a69831914effe8dd477ed5f0b3f6025a4"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_signed" ref="a69831914effe8dd477ed5f0b3f6025a4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">is_signed</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00860">860</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3360a21ceefd13ef2755c3e93f43bc35"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::is_specialized" ref="a3360a21ceefd13ef2755c3e93f43bc35" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">is_specialized</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00851">851</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a04f60151b781f7bdc54cccbd896d0c8a"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::max_exponent" ref="a04f60151b781f7bdc54cccbd896d0c8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">max_exponent</a> = 0<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00869">869</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ff0640dfde2863d62040fab4c05c015"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::max_exponent10" ref="a1ff0640dfde2863d62040fab4c05c015" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">max_exponent10</a> = 0<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00870">870</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a896b2960cdab358fe893ea8047afc16c"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::min_exponent" ref="a896b2960cdab358fe893ea8047afc16c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">min_exponent</a> = 0<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00867">867</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a502d3c024c47bc9f71bef8a581794885"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::min_exponent10" ref="a502d3c024c47bc9f71bef8a581794885" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">min_exponent10</a> = 0<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00868">868</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a33372a3cb350fa5607f95c6d4f3e29a7"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::radix" ref="a33372a3cb350fa5607f95c6d4f3e29a7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const int std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">radix</a> = 2<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00863">863</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9f68d88c00266449ae6070b2188af46c"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::round_style" ref="a9f68d88c00266449ae6070b2188af46c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const float_round_style std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">round_style</a> = round_indeterminate<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00889">889</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48dff429909593ae6d19eba404126e8b"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::tinyness_before" ref="a48dff429909593ae6d19eba404126e8b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">tinyness_before</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00888">888</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae13ce885b1b7b9e4f4a491acd5d434c0"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::traps" ref="ae13ce885b1b7b9e4f4a491acd5d434c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool std::numeric_limits&lt; <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer</a>&lt; Bits &gt; &gt;::<a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">traps</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00887">887</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -59,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -33,44 +32,44 @@
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a> () throw ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">is_specialized</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">digits</a> = 0</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">digits10</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">is_signed</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">is_integer</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">is_exact</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">radix</a> = 2</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">min_exponent</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">min_exponent10</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">max_exponent</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">max_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const float_denorm_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">has_denorm</a> = denorm_absent</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">has_denorm_loss</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">has_infinity</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">has_quiet_NaN</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">has_signaling_NaN</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const float_denorm_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">has_denorm</a> = denorm_absent</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">has_denorm_loss</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">is_iec559</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">is_bounded</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">is_exact</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">is_iec559</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">is_integer</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">is_modulo</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">traps</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">tinyness_before</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">is_signed</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">is_specialized</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">max_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">max_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">min_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">min_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">radix</a> = 2</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const float_round_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">round_style</a> = round_indeterminate</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">tinyness_before</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">traps</a> = true</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;&gt;<br/>
  class std::numeric_limits&lt; boost::xint::integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00394">394</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00298">298</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aa0ce0042cd4a473feaf0efbe3bb6d3d7"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::integer &gt;::denorm_min" ref="aa0ce0042cd4a473feaf0efbe3bb6d3d7" args="()" -->
 <div class="memitem">
@@ -87,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00424">424</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -106,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00407">407</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -125,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00421">421</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00325">325</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -144,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00399">399</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00303">303</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -163,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00398">398</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00302">302</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -182,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00422">422</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00326">326</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -201,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00408">408</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00312">312</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -220,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00423">423</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00327">327</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -236,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -251,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00402">402</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00306">306</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -266,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00418">418</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -281,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00419">419</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00323">323</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -296,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00415">415</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00319">319</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -311,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00416">416</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00320">320</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -326,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00417">417</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00321">321</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -341,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00427">427</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00331">331</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -356,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -371,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00426">426</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -386,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00404">404</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00308">308</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -401,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00428">428</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -416,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -431,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00300">300</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -446,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00412">412</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -461,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00413">413</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00317">317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -476,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00410">410</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00314">314</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -491,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00411">411</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00315">315</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -506,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00406">406</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00310">310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -521,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00432">432</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00336">336</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -536,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00431">431</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00335">335</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -551,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00430">430</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -559,7 +558,7 @@
 <li><a class="el" href="integer_8hpp_source.html">integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -59,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -33,44 +32,44 @@
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">quiet_NaN</a> () throw ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a> () throw ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a> () throw ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a> () throw ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">is_specialized</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">digits</a> = 0</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">digits10</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">is_signed</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">is_integer</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">is_exact</a> = true</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">radix</a> = 2</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">min_exponent</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">min_exponent10</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">max_exponent</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">max_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const float_denorm_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">has_denorm</a> = denorm_absent</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">has_denorm_loss</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">has_infinity</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">has_quiet_NaN</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">has_signaling_NaN</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const float_denorm_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">has_denorm</a> = denorm_absent</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">has_denorm_loss</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">is_iec559</a> = false</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">is_bounded</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">is_exact</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">is_iec559</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">is_integer</a> = true</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">is_modulo</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">traps</a> = false</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">tinyness_before</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">is_signed</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">is_specialized</a> = true</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">max_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">max_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">min_exponent</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">min_exponent10</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">radix</a> = 2</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const float_round_style&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">round_style</a> = round_indeterminate</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">tinyness_before</a> = false</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">traps</a> = false</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;&gt;<br/>
  class std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00355">355</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00366">366</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aab4e0d9304ec3163dd04c2f1fd51f0a0"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::nothrow_integer &gt;::denorm_min" ref="aab4e0d9304ec3163dd04c2f1fd51f0a0" args="()" -->
 <div class="memitem">
@@ -87,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00386">386</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00397">397</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -106,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00368">368</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00379">379</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -125,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00382">382</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00393">393</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -144,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00360">360</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00371">371</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -163,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00359">359</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00370">370</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -182,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00383">383</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00394">394</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -201,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00369">369</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00380">380</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -220,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00385">385</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -236,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00362">362</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00373">373</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -251,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00363">363</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00374">374</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -266,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00379">379</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00390">390</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -281,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00380">380</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00391">391</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -296,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00387">387</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -311,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00377">377</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00388">388</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -326,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00378">378</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00389">389</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -341,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00389">389</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00400">400</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -356,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00366">366</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00377">377</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -371,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00388">388</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00399">399</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -386,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00365">365</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -401,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00390">390</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -416,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00364">364</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00375">375</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -431,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00357">357</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00368">368</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -446,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00373">373</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00384">384</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -461,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00374">374</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00385">385</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -476,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00371">371</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00382">382</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -491,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00372">372</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00383">383</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -506,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00367">367</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00378">378</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -521,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00394">394</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -536,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00393">393</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00404">404</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -551,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00392">392</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -559,7 +558,7 @@
 <li><a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/compare_8cpp.html (original)
+++ sandbox/xint/doc/compare_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,21 +38,34 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail::compare</a> (const base_integer &amp;b1, const base_integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">boost::xint::compare</a> (const fixed_integer_any &amp;b1, const fixed_integer_any &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </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.html#a223232e2fe1af65bbba7b67a10f14f48">boost::xint::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.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint::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.html#ad85d78b5be317ed9a3cfa512953fa800">boost::xint::operator!=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint::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.html#ad6104aaba26d6b8d801cce276f154fe8">boost::xint::operator&lt;</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#af845afe18e9b1326d630e5c0696e679d">boost::xint::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.html#ab09672bca82a7f4fbdca4443492210bc">boost::xint::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#a40319361b76e6c7fea92867ea76695c2">boost::xint::operator&lt;=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint::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.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">boost::xint::operator==</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint::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.html#ac04d99142bc67642325ac524a8523f63">boost::xint::operator&gt;</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#ab09672bca82a7f4fbdca4443492210bc">boost::xint::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#af6fd110351f7aebd589bd482eab3696a">boost::xint::operator&gt;=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint::operator&gt;=</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -61,7 +73,7 @@
 
 <p>Definition in file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/compare_8cpp_source.html (original)
+++ sandbox/xint/doc/compare_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,55 +36,86 @@
 <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="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &lt;functional&gt;</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="l00036"></a>00036 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> integer &amp;b1, <span class="keyword">const</span> integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (!ignoresign) {
-<a name="l00038"></a>00038 <span class="keywordtype">int</span> sign1=b1.sign(), sign2=b2.sign();
-<a name="l00039"></a>00039 <span class="keywordflow">if</span> (sign1==0 &amp;&amp; sign2==0) <span class="keywordflow">return</span> 0;
-<a name="l00040"></a>00040 <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> -sign2;
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> sign1;
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (sign1 != sign2) <span class="keywordflow">return</span> sign1;
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (sign1 &lt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(-b2, -b1, ignoresign);
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (b1._get_length() != b2._get_length()) {
-<a name="l00048"></a>00048 <span class="keywordflow">return</span> ((b1._get_length() &lt; b2._get_length()) ? -1 : 1);
-<a name="l00049"></a>00049 } <span class="keywordflow">else</span> {
-<a name="l00050"></a>00050 <span class="keywordtype">size_t</span> len=b1._get_length();
-<a name="l00051"></a>00051 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b1d=b1._get_digits(), *b1i=b1d+len;
-<a name="l00052"></a>00052 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b2d=b2._get_digits(), *b2i=b2d+len;
-<a name="l00053"></a>00053 <span class="keywordflow">while</span> (b1i &gt; b1d)
-<a name="l00054"></a>00054 <span class="keywordflow">if</span> (*(--b1i) != *(--b2i))
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> ((*b1i &lt; *b2i) ? -1 : 1);
-<a name="l00056"></a>00056 }
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>detail {
+<a name="l00025"></a>00025 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">compare</a>(<span class="keyword">const</span> base_integer &amp;b1, <span class="keyword">const</span> base_integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
+<a name="l00026"></a>00026 <span class="keywordtype">bool</span> invert_answer=<span class="keyword">false</span>;
+<a name="l00027"></a>00027 <span class="keywordflow">if</span> (!ignoresign) {
+<a name="l00028"></a>00028 <span class="keywordflow">if</span> (b1._is_zero()) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (b2._is_zero()) <span class="keywordflow">return</span> 0;
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> (b2._get_negative() ? 1 : -1);
+<a name="l00031"></a>00031 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (b2._is_zero()) {
+<a name="l00032"></a>00032 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
+<a name="l00033"></a>00033 } <span class="keywordflow">else</span> {
+<a name="l00034"></a>00034 <span class="keywordflow">if</span> (b1._get_negative() != b2._get_negative())
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> (b1._get_negative() ? -1 : 1);
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (b1._get_negative()) invert_answer=<span class="keyword">true</span>;
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keywordtype">int</span> answer=0;
+<a name="l00041"></a>00041 <span class="keywordtype">size_t</span> len=b1._get_length(), len2=b2._get_length();
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (len != len2) {
+<a name="l00043"></a>00043 answer=((len &lt; len2) ? -1 : 1);
+<a name="l00044"></a>00044 } <span class="keywordflow">else</span> {
+<a name="l00045"></a>00045 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b1d=b1._get_digits(), *b1i=b1d+len;
+<a name="l00046"></a>00046 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *b2d=b2._get_digits(), *b2i=b2d+len;
+<a name="l00047"></a>00047 <span class="keywordflow">while</span> (b1i &gt; b1d)
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (*(--b1i) != *(--b2i)) {
+<a name="l00049"></a>00049 answer = ((*b1i &lt; *b2i) ? -1 : 1);
+<a name="l00050"></a>00050 <span class="keywordflow">break</span>;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> (invert_answer ? -answer : answer);
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 } <span class="comment">// namespace detail</span>
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordflow">return</span> 0;
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a>(<span class="keyword">const</span> integer &amp;num1) { <span class="keywordflow">return</span> num1.sign()==0; }
-<a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
-<a name="l00063"></a>00063 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
-<a name="l00064"></a>00064 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
-<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
-<a name="l00068"></a>00068 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
-<a name="l00070"></a>00070 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
-<a name="l00072"></a>00072 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 } <span class="comment">// namespace xint</span>
-<a name="l00076"></a>00076 } <span class="comment">// namespace boost</span>
+<a name="l00069"></a>00069 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> integer &amp;b1, <span class="keyword">const</span> integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2, ignoresign);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
+<a name="l00075"></a>00075 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
+<a name="l00077"></a>00077 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
+<a name="l00081"></a>00081 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
+<a name="l00085"></a>00085
+<a name="l00098"></a>00098 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> fixed_integer_any&amp; b1, <span class="keyword">const</span> fixed_integer_any&amp; b2, <span class="keywordtype">bool</span>
+<a name="l00099"></a>00099 ignoresign)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2, ignoresign);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> fixed_integer_any &amp;num1, <span class="keyword">const</span> fixed_integer_any &amp;num2) {
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)==0; }
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)!=0; }
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00109"></a>00109 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;0; }
+<a name="l00110"></a>00110 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;0; }
+<a name="l00112"></a>00112 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&lt;=0; }
+<a name="l00114"></a>00114 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> fixed_integer_any&amp; num1, <span class="keyword">const</span> fixed_integer_any&amp; num2) {
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(num1, num2)&gt;=0; }
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 } <span class="comment">// namespace xint</span>
+<a name="l00118"></a>00118 } <span class="comment">// namespace boost</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <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/complexity.html (from r61346, /sandbox/xint/doc/pages.html)
==============================================================================
--- /sandbox/xint/doc/pages.html (original)
+++ sandbox/xint/doc/complexity.html 2010-04-30 00:35:51 EDT (Fri, 30 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: Page Index</title>
+<title>The Extended Integer (XInt) Library: A Note on Algorithmic Complexity</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,20 +12,20 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
     </ul>
   </div>
+ <div class="navpath"><a class="el" href="index.html">The Extended Integer (XInt) Library</a>
+ </div>
 </div>
 <div class="contents">
-<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
-<li><a class="el" href="todo.html">Todo List</a>
-</li>
-</ul>
+
+
+<h1><a class="anchor" id="complexity">A Note on Algorithmic Complexity </a></h1><p>This documentation includes a time-complexity estimate, in big-O notation, for each algorithm. The time complexity is well-known for some algorithms, but for others, I had to make an educated guess. If you discover an error in the listed complexity, please report it. </p>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/complexity_8dox.html (from r61346, /sandbox/xint/doc/exceptions_8dox.html)
==============================================================================
--- /sandbox/xint/doc/exceptions_8dox.html (original)
+++ sandbox/xint/doc/complexity_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 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: /home/chad/projects/xint/doc/dox/exceptions.dox File Reference</title>
+<title>The Extended Integer (XInt) Library: /home/chad/projects/xint/doc/dox/complexity.dox File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -26,10 +25,10 @@
   </div>
 </div>
 <div class="contents">
-<h1>/home/chad/projects/xint/doc/dox/exceptions.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<h1>/home/chad/projects/xint/doc/dox/complexity.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/convert_8cpp.html (original)
+++ sandbox/xint/doc/convert_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,27 +38,36 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail::from_binary</a> (base_integer &amp;target, const xint::binary_t &amp;b, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail::from_string</a> (base_integer &amp;target, const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail::to_binary</a> (xint::binary_t &amp;target, const base_integer &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail::to_string</a> (const base_integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint::from_binary</a> (const xint::binary_t &amp;b, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a portable binary representation of a number into an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string to an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint::to_binary</a> (const integer &amp;n, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a185dd459850bfd588a4a9b3c67e8c09c">boost::xint::to_string</a> (const fixed_integer_any &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e">boost::xint::from_binary</a> (const std::string &amp;str)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a binary representation of a number into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea">boost::xint::to_binary</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer, lowest byte first. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the conversion functions. </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>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>the xint::to_string function could be made more efficient by using only doubledigit_t-sized pieces of the integer at a time, and dividing the whole thing by the total of the divisions done to get the digits. Same with the xint::from_string function. </dd></dl>
+<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="convert_8cpp_source.html">convert.cpp</a>.</p>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/copyonwrite_8dox.html
==============================================================================
--- sandbox/xint/doc/copyonwrite_8dox.html (original)
+++ sandbox/xint/doc/copyonwrite_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/copyonwrite.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/data__t_8cpp.html
==============================================================================
--- sandbox/xint/doc/data__t_8cpp.html (original)
+++ sandbox/xint/doc/data__t_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -44,22 +43,42 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">VALGRIND_COMPATIBLE</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">The variable-length data_t functions.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp80e5972139cba853c07c583d1d68268c"></a> </p>
+<tr><td colspan="2"><div class="groupHeader">The data_t functions.</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp583f07902076b847c6a492abda2f342d"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">boost::xint::detail::reallocate</a> (data_t&lt;&gt; *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">boost::xint::detail::duplicate</a> (data_t&lt;&gt; *olddata, size_t extra)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5e040a2d24aaf0c1d4b85fdd0721ee8e">boost::xint::detail::duplicate</a> (data_t&lt;&gt; *olddata, data_t&lt;&gt; *data_to_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="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">boost::xint::detail::deallocate</a> (data_t&lt;&gt; *data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length, digit_t mask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail::allocate_fixed</a> (digit_t mask, size_t max_digits, size_t initial_length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail::allocate_fixed_zero</a> (digit_t mask, size_t max_digits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail::deallocate</a> (data_t *data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail::reallocate</a> (data_t *olddata, size_t newsize)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a589b1fc1784e06a3aef44c86254f1a45">boost::xint::detail::zero</a> (digit_t *p, size_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail::zero</a> (digit_t *p, digit_t *end)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for data_t allocation functions. </p>
 
 <p>Definition in file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a5319d73dcebfb0b95527d8edff2101c9"></a><!-- doxytag: member="data_t.cpp::VALGRIND_COMPATIBLE" ref="a5319d73dcebfb0b95527d8edff2101c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define VALGRIND_COMPATIBLE</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;
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00020">20</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/dependencies.html
==============================================================================
--- sandbox/xint/doc/dependencies.html (original)
+++ sandbox/xint/doc/dependencies.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -32,11 +31,15 @@
 <li>Boost.Random</li>
 <li>Boost.TypeTraits</li>
 <li>Boost.SmartPointers</li>
-<li>Boost.Thread (but only if the library was compiled for <a class="el" href="threadsafe.html">thread-safe operation</a>)</li>
+</ul>
+<p>If you compile the library for <a class="el" href="threadsafe.html">thread-safe operation</a>, you'll also need these:</p>
+<ul>
+<li>Boost.Move</li>
+<li>Boost.Thread</li>
 </ul>
 <p>With the exception of Boost.Thread, all of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dependencies_8dox.html
==============================================================================
--- sandbox/xint/doc/dependencies_8dox.html (original)
+++ sandbox/xint/doc/dependencies_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/dependencies.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dox/Doxyfile
==============================================================================
--- sandbox/xint/doc/dox/Doxyfile (original)
+++ sandbox/xint/doc/dox/Doxyfile 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -421,7 +421,7 @@
 # by member name. If set to NO (the default) the members will appear in
 # declaration order.
 
-SORT_BRIEF_DOCS = NO
+SORT_BRIEF_DOCS = YES
 
 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
 # will sort the (brief and detailed) documentation of class members so that

Added: sandbox/xint/doc/dox/complexity.dox
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/dox/complexity.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,7 @@
+/*! \page complexity A Note on Algorithmic Complexity
+
+This documentation includes a time-complexity estimate, in big-O notation, for
+each algorithm. The time complexity is well-known for some algorithms, but for
+others, I had to make an educated guess. If you discover an error in the listed
+complexity, please report it.
+*/

Modified: sandbox/xint/doc/dox/copyonwrite.dox
==============================================================================
--- sandbox/xint/doc/dox/copyonwrite.dox (original)
+++ sandbox/xint/doc/dox/copyonwrite.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -7,7 +7,9 @@
 it as a non-reference parameter to a function) very fast, regardless of its
 size.
 
-Unfortunately, this makes thread-safe operation impossible. If you need to use
-the library from multiple threads, you can disable this behavior by compiling it
-with \ref threadsafe "the thread-safe option".
+Unfortunately, copy-on-write isn't compatible with thread-safe operation. If you
+need to use the library from multiple threads, you can disable this behavior by
+compiling it with \ref threadsafe "the thread-safe option". This option also
+enables move semantics, via Boost.Move, which provide a similar speed increase,
+though at the time of this writing, not as good as copy-on-write can.
 */

Modified: sandbox/xint/doc/dox/dependencies.dox
==============================================================================
--- sandbox/xint/doc/dox/dependencies.dox (original)
+++ sandbox/xint/doc/dox/dependencies.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -10,8 +10,12 @@
 - Boost.Random
 - Boost.TypeTraits
 - Boost.SmartPointers
-- Boost.Thread (but only if the library was compiled for \ref threadsafe
-"thread-safe operation")
+
+If you compile the library for \ref threadsafe "thread-safe operation", you'll
+also need these:
+
+- Boost.Move
+- Boost.Thread
 
 With the exception of Boost.Thread, all of these are header-only libraries,
 meaning that you don't need to worry about linking your program with them.

Added: sandbox/xint/doc/dox/fixed_and_variable.dox
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/dox/fixed_and_variable.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,16 @@
+/*! \page fixed_and_variable The Different Integer Types
+
+The main %integer class in this library is \ref boost::xint::integer
+"xint::integer". It allows for arbitrary-length numbers, limited only by your
+patience and your system's memory. There is an error-code-based variant of it as
+well, \ref boost::xint::nothrow_integer "xint::nothrow_integer".
+
+There is also a fixed-length type, the template class \ref
+boost::xint::fixed_integer "xint::fixed_integer", where you to specify the
+number of bits to limit it to.
+
+All three types have an essentially identical set of functions and operators,
+and can do pretty much the same things, though with different time and memory
+efficiencies. See the "detailed description" portion of the reference pages
+linked above for a description of each type and its unique properties.
+*/

Modified: sandbox/xint/doc/dox/history.dox
==============================================================================
--- sandbox/xint/doc/dox/history.dox (original)
+++ sandbox/xint/doc/dox/history.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,16 +16,17 @@
 - Many improvements, primarily from feedback on the first Boost upload. Second
 version posted to the Boost File Vault.
 
-\b 2010-04-?? (updated through 10th)
-- Major refactoring, separating xint::integer and xint::nothrow_integer and
-eliminating the exception-blocking functions.
-- Fixed problem with MSVC 9.
-- Major overhaul of the division function.
-- All test functions now use Boost.Test.
-- "Fixed" several small memory leaks. They weren't real leaks, but Boost.Test
-couldn't tell that.
+\b 2010-04-30
+- Third version posted to the Boost File Vault for preliminary review.
+- Major redesign, separating xint::integer and xint::nothrow_integer,
+eliminating the exception-blocking functions, and adding an xint::fixed_integer
+template class.
+- Major overhaul of many of the functions, making them more efficient and fixing
+newly-discovered bugs.
+- All test functions now use Boost.Test, many new tests added.
 - All documentation moved to Doxygen format.
 - Moved xint namespace into boost namespace.
-- Fixed minor stream-output formatting problem (the code wasn't aware of the \c
-showpos stream option).
+- "Fixed" several small memory leaks. Most of them weren't real leaks, but
+Boost.Test couldn't tell that.
+- Many less-major changes.
 */

Modified: sandbox/xint/doc/dox/index.dox
==============================================================================
--- sandbox/xint/doc/dox/index.dox (original)
+++ sandbox/xint/doc/dox/index.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,6 +15,8 @@
 it. In practice that's millions of hexadecimal digits, so it's effectively
 infinite.
 
+\warning This is not (yet) an official Boost library.
+
 \section why Why would I use it?
 
 \li <b>Because it's completely portable.</b> It's written entirely in modern
@@ -24,11 +26,11 @@
 \li <b>Because it's fast.</b> Speed of execution takes a back seat to
 portability, so it doesn't include things like assembly-language modules to
 wring every last CPU cycle out of it -- but it's still pretty darn fast.
-\li <b>Because it has the features you need.</b> Modular arithmetic.
-Cryptographically-secure prime number generation. Bit manipulation functions.
-Exception- or error-code-based operation. A friendly and intuitive interface. An
-option for thread-safe operation. Complete and carefully maintained
-documentation. What more could you want?
+\li <b>Because it has the features you need.</b> Modular arithmetic. Fixed- or
+variable-length integer types. Cryptographically-secure prime number generation.
+Bit manipulation functions. Exception- or error-code-based operation. A friendly
+and intuitive interface. An option for thread-safe operation. Complete and
+carefully maintained documentation. What more could you want?
 \li <b>Because it's open-source.</b> You can see exactly how it works. You can
 never be left high and dry because the company that made it goes out of
 business, or decides that it's not profitable to maintain it. If you find a bug
@@ -44,14 +46,15 @@
 
 That's the best part. If you've installed or compiled the Boost library already,
 all you need to do is add <code>\#include \<boost/xint/xint.hpp\></code> at the
-top of your source code file, throw in a \c using line to say which type you
-want to use, and declare your variable as type boost::xint::integer. Then just
-use it the way you'd use any integer. If you need something more advanced, take
-a look in \ref boost::xint "the reference section" and you just might find it.
+top of your source code file and declare your variable as type \c
+boost::xint::integer. Then just use it the way you'd use any integer. If you
+need something more advanced, take a look in \ref boost::xint
+"the reference section" and you just might find it.
 
 More information on how to use it can be found on the pages listed below.
 
 Detailed Usage Information:
+- \subpage fixed_and_variable
 - \subpage nan
 - \subpage zero
 - \subpage primes (with example code)
@@ -64,6 +67,7 @@
 
 Library Information:
 - \subpage cow
+- \subpage complexity
 - \subpage testing
 - \subpage dependencies
 - \subpage rationale
@@ -72,5 +76,8 @@
 
 Stand-Alone Examples:
 - \subpage ex_fibonacci
-
 */
+
+// TODO: Add if/when accepted
+//If you discover a bug in this library, please report it here:
+//http://www.boost.org/support/bugs.html

Modified: sandbox/xint/doc/dox/r_cow.dox
==============================================================================
--- sandbox/xint/doc/dox/r_cow.dox (original)
+++ sandbox/xint/doc/dox/r_cow.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -1,13 +1,16 @@
 /*! \page r_cow Why use copy-on-write? I've heard that causes problems with multi-threaded code.
 
 It's the best way I found to return large \c integer objects from functions
-efficiently. Some of these numbers can get huge, and move semantics aren't yet
-in the current standard. (Once they are, I'll consider removing the
-copy-on-write stuff.) It is also more CPU- and memory-efficient.
+efficiently. Some of these numbers can get huge, making copying an expensive
+proposition, and even move semantics (at least as emulated by Boost.Move at the
+time of this writing) aren't as fast. Copy-on-write also works when storing
+items in the standard containers; Boost.Move emulation requires special
+move-aware containers.
 
 It \e does cause problems when you try to use the library from multiple threads
 at the same time. To deal with that, the library can be compiled in a \ref
 threadsafe "thread-safe mode", which ensures that every \c integer gets its own
-unique storage, among other things. You still have to ensure that only one
-thread accesses a particular \c integer at a time.
+unique storage and turns on Boost.Move move semantics, among other things. You
+still have to ensure that only one thread accesses a particular \c integer at a
+time.
 */

Modified: sandbox/xint/doc/dox/rationale.dox
==============================================================================
--- sandbox/xint/doc/dox/rationale.dox (original)
+++ sandbox/xint/doc/dox/rationale.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -3,7 +3,6 @@
 \section sinterface Interface
 - \subpage r_interface
 - \subpage r_interface_design_only
-- \subpage r_core
 
 \section scow Copy-on-Write
 - \subpage r_cow
@@ -11,6 +10,7 @@
 
 \section snan Not-a-Number and The nothrow_integer Type
 - \subpage r_nan
+- \subpage r_core
 - \subpage r_exception_blocking
 - \subpage r_negzero
 

Modified: sandbox/xint/doc/dox/threadsafe.dox
==============================================================================
--- sandbox/xint/doc/dox/threadsafe.dox (original)
+++ sandbox/xint/doc/dox/threadsafe.dox 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -14,6 +14,6 @@
 When the library is compiled with the thread-safe option, all programs that link
 to it must also link to the Boost.Thread library.
 
-To see whether your copy was compiled with thread-safe operation enabled, use
-the xint::opt_thread_safe function.
+To programatically check whether your copy was compiled with thread-safe
+operation enabled, use the xint::opt_thread_safe function.
 */

Modified: sandbox/xint/doc/ex__fibonacci.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci.html (original)
+++ sandbox/xint/doc/ex__fibonacci.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -65,7 +64,7 @@
 </pre></div><p>If you're not intimately familiar with the Fibonacci sequence, and how fast the numbers in it grow, the answer might shock you.</p>
 <p>As you can see, using the XInt library is just like using the native integer types -- except that an <code>xint::integer</code> won't overflow on you until you completely exhaust your system's memory. :-) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/ex__fibonacci_8dox.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci_8dox.html (original)
+++ sandbox/xint/doc/ex__fibonacci_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/ex_fibonacci.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/exception__blocker_8cpp.html
==============================================================================
--- sandbox/xint/doc/exception__blocker_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: exception_blocker.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>exception_blocker.cpp File Reference</h1>
-<p>Contains the definitions for the exception-blocker classes and functions.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Exception-blocking and -allowing functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp6b736a9df3b9afabec548528235f28b6"></a> See the <a class="el" href="exceptions.html">exception-blocking page</a> for details on these functions and how to use them. </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.html#a389e96a85ba1c76ef5bfcf836b7e4e8a">boost::xint::exceptions_allowed</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query whether exceptions are currently allowed or blocked. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23aac788de86c99b403a691954e016ad">boost::xint::block_exceptions</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporarily prevent the library from throwing blockable exceptions. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6353146e15d8912324f5fa820674a75f">boost::xint::allow_exceptions</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temprarily counteract an <a class="el" href="namespaceboost_1_1xint.html#a23aac788de86c99b403a691954e016ad" title="Temporarily prevent the library from throwing blockable exceptions.">xint::block_exceptions</a> token to allow all exceptions. <br/></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the exception-blocker classes and functions. </p>
-
-<p>Definition in file <a class="el" href="exception__blocker_8cpp_source.html">exception_blocker.cpp</a>.</p>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a50f7131c1e1f52ac26fb604e489b0dbe"></a><!-- doxytag: member="exception_blocker.cpp::mOldState" ref="a50f7131c1e1f52ac26fb604e489b0dbe" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="exception__blocker_8cpp_source.html#l00049">49</a> of file <a class="el" href="exception__blocker_8cpp_source.html">exception_blocker.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 03:20:09 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/exception__blocker_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/exception__blocker_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: exception_blocker.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>exception_blocker.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>{
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span> boost::thread_specific_ptr&lt;bool&gt; allowed;
-<a name="l00031"></a>00031 <span class="preprocessor">#else</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span> <span class="keywordtype">bool</span> allowed=<span class="keyword">true</span>;
-<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00035"></a>00035 <span class="keyword">struct </span>EBlockerToken: <span class="keyword">public</span> detail::<a class="code" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">token</a> {
-<a name="l00036"></a>00036 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span> EBlockerToken(<span class="keywordtype">bool</span> newAllowState) {
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (allowed.get()==0) allowed.reset(<span class="keyword">new</span> <span class="keywordtype">bool</span>(<span class="keyword">true</span>));
-<a name="l00039"></a>00039 <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>=*allowed;
-<a name="l00040"></a>00040 *allowed=newAllowState;
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042 ~EBlockerToken() { *allowed=<a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>; }
-<a name="l00043"></a>00043 <span class="preprocessor"> #else</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span> EBlockerToken(<span class="keywordtype">bool</span> newAllowState): <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>(allowed) {
-<a name="l00045"></a>00045 allowed=newAllowState; }
-<a name="l00046"></a>00046 ~EBlockerToken() { allowed=<a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>; }
-<a name="l00047"></a>00047 <span class="preprocessor"> #endif</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span>
-<a name="l00049"></a><a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">00049</a> <span class="keywordtype">bool</span> <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>;
-<a name="l00050"></a>00050 };
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 } <span class="comment">// namespace</span>
-<a name="l00053"></a>00053
-<a name="l00064"></a>00064 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>() {
-<a name="l00065"></a>00065 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span> <span class="comment">// Defaults to true</span>
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> (allowed.get()==0 || *allowed==<span class="keyword">true</span>);
-<a name="l00068"></a>00068 <span class="preprocessor"> #else</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span> <span class="keywordflow">return</span> allowed;
-<a name="l00070"></a>00070 <span class="preprocessor"> #endif</span>
-<a name="l00071"></a>00071 <span class="preprocessor"></span>}
-<a name="l00072"></a>00072
-<a name="l00085"></a>00085 <a class="code" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">token</a> <a class="code" href="namespaceboost_1_1xint.html#a23aac788de86c99b403a691954e016ad" title="Temporarily prevent the library from throwing blockable exceptions.">block_exceptions</a>() {
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">token</a>(<span class="keyword">new</span> EBlockerToken(<span class="keyword">false</span>));
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00105"></a>00105 <a class="code" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">token</a> <a class="code" href="namespaceboost_1_1xint.html#a6353146e15d8912324f5fa820674a75f" title="Temprarily counteract an xint::block_exceptions token to allow all exceptions.">allow_exceptions</a>() {
-<a name="l00106"></a>00106 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">token</a>(<span class="keyword">new</span> EBlockerToken(<span class="keyword">true</span>));
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 } <span class="comment">// namespace xint</span>
-<a name="l00110"></a>00110 } <span class="comment">// namespace boost</span>
-</pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 03:20:09 2010 for The Extended Integer (XInt) Library by&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/exceptions.html
==============================================================================
--- sandbox/xint/doc/exceptions.html (original)
+++ sandbox/xint/doc/exceptions.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -63,7 +62,7 @@
     }
 }
 </pre></div> </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8dox.html
==============================================================================
--- sandbox/xint/doc/exceptions_8dox.html (original)
+++ sandbox/xint/doc/exceptions_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/exceptions.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8hpp.html
==============================================================================
--- sandbox/xint/doc/exceptions_8hpp.html (original)
+++ sandbox/xint/doc/exceptions_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -33,16 +32,16 @@
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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>
@@ -61,7 +60,7 @@
 
 <p>Definition in file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/exceptions_8hpp_source.html (original)
+++ sandbox/xint/doc/exceptions_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,70 +42,70 @@
 <a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
 <a name="l00022"></a>00022
 <a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
-<a name="l00024"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">00024</a> <span class="keyword">namespace </span>xint {
-<a name="l00025"></a><a class="code" href="namespaceboost_1_1xint_1_1exceptions.html">00025</a>
-<a name="l00027"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">00027</a> <span class="keyword">namespace </span>exceptions {
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
+<a name="l00025"></a>00025
+<a name="l00027"></a><a class="code" href="namespaceboost_1_1xint_1_1exceptions.html">00027</a> <span class="keyword">namespace </span>exceptions {
 <a name="l00028"></a>00028
-<a name="l00032"></a>00032 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
+<a name="l00032"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">00032</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
 <a name="l00033"></a>00033 <span class="keyword">public</span>:
-<a name="l00034"></a>00034 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid argument&quot;</span>):
-<a name="l00035"></a>00035 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">std::invalid_argument</a>(what) { }
-<a name="l00036"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">00036</a> };
+<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">00034</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid argument&quot;</span>):
+<a name="l00035"></a>00035 std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what) { }
+<a name="l00036"></a>00036 };
 <a name="l00037"></a>00037
-<a name="l00041"></a>00041 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
+<a name="l00041"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">00041</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
 <a name="l00042"></a>00042 <span class="keyword">public</span>:
-<a name="l00043"></a>00043 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid base&quot;</span>): <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what)
+<a name="l00043"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">00043</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid base&quot;</span>): <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what)
 <a name="l00044"></a>00044 { }
-<a name="l00045"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">00045</a> };
+<a name="l00045"></a>00045 };
 <a name="l00046"></a>00046
-<a name="l00050"></a>00050 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a>: <span class="keyword">public</span> std::range_error {
+<a name="l00050"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">00050</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a>: <span class="keyword">public</span> std::range_error {
 <a name="l00051"></a>00051 <span class="keyword">public</span>:
-<a name="l00052"></a>00052 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid digit&quot;</span>): range_error(what)
+<a name="l00052"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">00052</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">invalid_digit</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid digit&quot;</span>): range_error(what)
 <a name="l00053"></a>00053 { }
-<a name="l00054"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">00054</a> };
+<a name="l00054"></a>00054 };
 <a name="l00055"></a>00055
-<a name="l00059"></a>00059 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
+<a name="l00059"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">00059</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
 <a name="l00060"></a>00060 <span class="keyword">public</span>:
-<a name="l00061"></a>00061 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid modulus&quot;</span>):
+<a name="l00061"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">00061</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">invalid_modulus</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid modulus&quot;</span>):
 <a name="l00062"></a>00062 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what) { }
-<a name="l00063"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">00063</a> };
+<a name="l00063"></a>00063 };
 <a name="l00064"></a>00064
-<a name="l00068"></a>00068 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
+<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">00068</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
 <a name="l00069"></a>00069 <span class="keyword">public</span>:
-<a name="l00070"></a>00070 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;divide by zero error&quot;</span>):
+<a name="l00070"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">00070</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;divide by zero error&quot;</span>):
 <a name="l00071"></a>00071 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what) { }
-<a name="l00072"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">00072</a> };
+<a name="l00072"></a>00072 };
 <a name="l00073"></a>00073
-<a name="l00077"></a>00077 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
+<a name="l00077"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">00077</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> {
 <a name="l00078"></a>00078 <span class="keyword">public</span>:
-<a name="l00079"></a>00079 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a>(<span class="keyword">const</span> std::string&amp; what=
+<a name="l00079"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">00079</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">cannot_represent</a>(<span class="keyword">const</span> std::string&amp; what=
 <a name="l00080"></a>00080 <span class="stringliteral">&quot;cannot represent the requested value&quot;</span>): <a class="code" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a>(what) { }
-<a name="l00081"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">00081</a> };
+<a name="l00081"></a>00081 };
 <a name="l00082"></a>00082
-<a name="l00086"></a>00086 <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a>: <span class="keyword">public</span> std::range_error {
+<a name="l00086"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">00086</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a>: <span class="keyword">public</span> std::range_error {
 <a name="l00087"></a>00087 <span class="keyword">public</span>:
-<a name="l00088"></a>00088 <a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a>(<span class="keyword">const</span> std::string&amp; what=
+<a name="l00088"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">00088</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">too_big</a>(<span class="keyword">const</span> std::string&amp; what=
 <a name="l00089"></a>00089 <span class="stringliteral">&quot;value out of range for requested conversion&quot;</span>): range_error(what) { }
 <a name="l00090"></a>00090 };
 <a name="l00091"></a>00091
-<a name="l00099"></a>00099 <span class="keyword">class </span>not_a_number: <span class="keyword">public</span> std::runtime_error {
+<a name="l00099"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">00099</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a>: <span class="keyword">public</span> std::runtime_error {
 <a name="l00100"></a>00100 <span class="keyword">public</span>:
-<a name="l00101"></a>00101 not_a_number(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;attempted to use a Not-a-Number&quot;</span>):
+<a name="l00101"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">00101</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">not_a_number</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;attempted to use a Not-a-Number&quot;</span>):
 <a name="l00102"></a>00102 runtime_error(what) { }
 <a name="l00103"></a>00103 };
 <a name="l00104"></a>00104
-<a name="l00114"></a>00114 <span class="keyword">class </span>no_strong_random: <span class="keyword">public</span> std::runtime_error {
+<a name="l00114"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">00114</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a>: <span class="keyword">public</span> std::runtime_error {
 <a name="l00115"></a>00115 <span class="keyword">public</span>:
-<a name="l00116"></a>00116 no_strong_random(<span class="keyword">const</span> std::string&amp; what=
+<a name="l00116"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">00116</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">no_strong_random</a>(<span class="keyword">const</span> std::string&amp; what=
 <a name="l00117"></a>00117 <span class="stringliteral">&quot;system does not have a strong random generator&quot;</span>):
 <a name="l00118"></a>00118 runtime_error(what) { }
 <a name="l00119"></a>00119 };
 <a name="l00120"></a>00120
-<a name="l00127"></a>00127 <span class="keyword">class </span>overflow_error: <span class="keyword">public</span> std::overflow_error {
+<a name="l00127"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">00127</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a>: <span class="keyword">public</span> std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> {
 <a name="l00128"></a>00128 <span class="keyword">public</span>:
-<a name="l00129"></a>00129 overflow_error(<span class="keyword">const</span> std::string&amp; what=
+<a name="l00129"></a><a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">00129</a> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">overflow_error</a>(<span class="keyword">const</span> std::string&amp; what=
 <a name="l00130"></a>00130 <span class="stringliteral">&quot;overflow error: can&#39;t obtain enough memory to represent the requested number&quot;</span>):
-<a name="l00131"></a>00131 std::overflow_error(what) { }
+<a name="l00131"></a>00131 std::<a class="code" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a>(what) { }
 <a name="l00132"></a>00132 };
 <a name="l00133"></a>00133
 <a name="l00134"></a>00134 } <span class="comment">// namespace exception</span>
@@ -115,7 +114,7 @@
 <a name="l00137"></a>00137
 <a name="l00138"></a>00138 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_EXCEPTIONS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/files.html
==============================================================================
--- sandbox/xint/doc/files.html (original)
+++ sandbox/xint/doc/files.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -28,6 +27,7 @@
 <div class="contents">
 <h1>File List</h1>Here is a list of all files with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="exceptions_8hpp.html">exceptions.hpp</a> [code]</td><td class="indexvalue">The exception namespace </td></tr>
+ <tr><td class="indexkey"><a class="el" href="fixed__integer_8hpp.html">fixed_integer.hpp</a> [code]</td><td class="indexvalue">Declares the fixed-size integer type </td></tr>
   <tr><td class="indexkey"><a class="el" href="integer_8hpp.html">integer.hpp</a> [code]</td><td class="indexvalue">Declares the core integer type </td></tr>
   <tr><td class="indexkey"><a class="el" href="internals_8hpp.html">internals.hpp</a> [code]</td><td class="indexvalue">Contains the internal definitions required for all XInt types </td></tr>
   <tr><td class="indexkey"><a class="el" href="monty_8hpp.html">monty.hpp</a> [code]</td><td class="indexvalue">Internally-used functions </td></tr>
@@ -65,7 +65,7 @@
   <tr><td class="indexkey"><a class="el" href="roots_8cpp.html">roots.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for functions related to roots of a number </td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/fixed__and__variable.html (from r61346, /sandbox/xint/doc/dependencies.html)
==============================================================================
--- /sandbox/xint/doc/dependencies.html (original)
+++ sandbox/xint/doc/fixed__and__variable.html 2010-04-30 00:35:51 EDT (Fri, 30 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: Dependencies</title>
+<title>The Extended Integer (XInt) Library: The Different Integer Types</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -24,19 +23,11 @@
 <div class="contents">
 
 
-<h1><a class="anchor" id="dependencies">Dependencies </a></h1><p>Like any non-trivial program, this library uses several other pieces of code, though I've tried to minimize the dependencies. Here are the ones that are required:</p>
-<ul>
-<li>Boost.Integer</li>
-<li>Boost.Function</li>
-<li>Boost.StaticAssert</li>
-<li>Boost.Random</li>
-<li>Boost.TypeTraits</li>
-<li>Boost.SmartPointers</li>
-<li>Boost.Thread (but only if the library was compiled for <a class="el" href="threadsafe.html">thread-safe operation</a>)</li>
-</ul>
-<p>With the exception of Boost.Thread, all of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
+<h1><a class="anchor" id="fixed_and_variable">The Different Integer Types </a></h1><p>The main integer class in this library is <a class="el" href="classboost_1_1xint_1_1integer.html">xint::integer</a>. It allows for arbitrary-length numbers, limited only by your patience and your system's memory. There is an error-code-based variant of it as well, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">xint::nothrow_integer</a>.</p>
+<p>There is also a fixed-length type, the template class <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">xint::fixed_integer</a>, where you to specify the number of bits to limit it to.</p>
+<p>All three types have an essentially identical set of functions and operators, and can do pretty much the same things, though with different time and memory efficiencies. See the "detailed description" portion of the reference pages linked above for a description of each type and its unique properties. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/fixed__and__variable_8dox.html (from r61346, /sandbox/xint/doc/r__insecure__default_8dox.html)
==============================================================================
--- /sandbox/xint/doc/r__insecure__default_8dox.html (original)
+++ sandbox/xint/doc/fixed__and__variable_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 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: /home/chad/projects/xint/doc/dox/r_insecure_default.dox File Reference</title>
+<title>The Extended Integer (XInt) Library: /home/chad/projects/xint/doc/dox/fixed_and_variable.dox File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -26,10 +25,10 @@
   </div>
 </div>
 <div class="contents">
-<h1>/home/chad/projects/xint/doc/dox/r_insecure_default.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<h1>/home/chad/projects/xint/doc/dox/fixed_and_variable.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/fixed__integer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/fixed__integer_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,277 @@
+<!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: fixed_integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>fixed_integer.hpp File Reference</h1>
+<p>Declares the fixed-size integer type.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fixed-size integer type. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td></tr>
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<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="namespacestd.html">std</a></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(name, body)</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">boost::xint::swap</a> (fixed_integer&lt; Bits &gt; &amp;left, fixed_integer&lt; Bits &gt; &amp;right)</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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ace023b79b24b4df655c1d86be77df99a">boost::xint::abs</a> (const fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a74c947ce6c6d25b54c25b5c5427a9c62">boost::xint::add</a> (const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4711eee4f69e1a7cc5c5393bd4d44361">boost::xint::divide</a> (const fixed_integer&lt; Bits &gt; &amp;dividend, const fixed_integer&lt; Bits &gt; &amp;divisor)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;::divide_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a95d8f6a792d953e6f1b3b1d1b43a05dc">boost::xint::divide_r</a> (const fixed_integer&lt; Bits &gt; &amp;dividend, const fixed_integer&lt; Bits &gt; &amp;divisor)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6a548d944523cfc7c22823014bb6dcb6">boost::xint::multiply</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;by)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ade2e4d02cf0aa413f7e6f4d943ca341d">boost::xint::negate</a> (const fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a218c0f1ddaaa8c978b3f84219ef712d2">boost::xint::subtract</a> (const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)</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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9ac26e06d3665264feab3e02677a552">boost::xint::bitwise_and</a> (const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a47b675e2d348c9c53d4423e6c5eee354">boost::xint::bitwise_or</a> (const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9ef262badd4547baacbf46206eb4a880">boost::xint::bitwise_xor</a> (const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41bef4baff8a6b4928fc9699d434a2bf">boost::xint::clearbit</a> (fixed_integer&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a090f7c7d819b3c1a0f7cc0bd69dc4878">boost::xint::getbit</a> (const fixed_integer&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a058c69285b794392f3e5853355d0fa3e">boost::xint::highestbit</a> (const fixed_integer&lt; Bits &gt; &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6d7bfe0c5806902b377df0934f027f38">boost::xint::lowestbit</a> (const fixed_integer&lt; Bits &gt; &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf72216ae1986d06d4f39c27cada42d6">boost::xint::setbit</a> (fixed_integer&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a24944978923b67b2547c0f7245e4d7b9">boost::xint::shift</a> (const fixed_integer&lt; Bits &gt; &amp;n, int byBits)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b096bd6583148b84b5f8020dfad4865">boost::xint::shift_left</a> (const fixed_integer&lt; Bits &gt; &amp;n, size_t byBits)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa01c60a4f969a7df6368f5c82695824c">boost::xint::shift_right</a> (const fixed_integer&lt; Bits &gt; &amp;n, size_t byBits)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">boost::xint::compare</a> (const fixed_integer_any &amp;b1, const fixed_integer_any &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab04ceb2184645859dcbbc00b7b9ff4ca">boost::xint::gcd</a> (const fixed_integer&lt; Bits &gt; &amp;num1, const fixed_integer&lt; Bits &gt; &amp;num2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4e4bf24a99b565005d75630de66c5316">boost::xint::lcm</a> (const fixed_integer&lt; Bits &gt; &amp;num1, const fixed_integer&lt; Bits &gt; &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a080731f708e62fc429687bf450f36fa2">boost::xint::log2</a> (const fixed_integer_any &amp;n)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">boost::xint::fixed_factorial</a> (size_t n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint::fixed_pow2</a> (size_t e)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae92b86a29007f48749f17d54f36f469a">boost::xint::pow</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer_any &amp;e)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">boost::xint::sqr</a> (const fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7516b17b5c54a012c9dbdc9a45e2142b">boost::xint::sqrt</a> (const fixed_integer&lt; Bits &gt; &amp;n)</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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">boost::xint::fixed_from_binary</a> (const xint::binary_t &amp;b, size_t bits)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">boost::xint::fixed_from_string</a> (const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits, typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">boost::xint::to</a> (const fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2691e17588d7a0bb6614d5bdeb66cd4c">boost::xint::to_binary</a> (const fixed_integer_any &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a185dd459850bfd588a4a9b3c67e8c09c">boost::xint::to_string</a> (const fixed_integer_any &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint::fixed_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint::fixed_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint::is_prime</a> (const fixed_integer_any &amp;n, callback_t callback)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0ae43d82587191d69d4f0b44226fc12f">boost::xint::invmod</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;m)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a30c0cd9ad317c1a373cdc059b6f81cb9">boost::xint::mod</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;modBy)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6dd657413c395d346e59b282aa6138d8">boost::xint::mulmod</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;by, const fixed_integer&lt; Bits &gt; &amp;m)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8f97bd640a2e3a45313fd1893dc854e3">boost::xint::powmod</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;e, const fixed_integer&lt; Bits &gt; &amp;m, bool noMontgomery)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">boost::xint::sqrmod</a> (const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;m)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">boost::xint::operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">boost::xint::operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, fixed_integer&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td colspan="2"><h2>Operators</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(name, body)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixed__integer_8hpp.html#ade575df9b3b2a7c878c18039f07e450e">BOOST_XINT_NFIXED</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad85d78b5be317ed9a3cfa512953fa800">boost::xint::operator!=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#ad6104aaba26d6b8d801cce276f154fe8">boost::xint::operator&lt;</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a40319361b76e6c7fea92867ea76695c2">boost::xint::operator&lt;=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">boost::xint::operator==</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#ac04d99142bc67642325ac524a8523f63">boost::xint::operator&gt;</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &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#af6fd110351f7aebd589bd482eab3696a">boost::xint::operator&gt;=</a> (const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Declares the fixed-size integer type. </p>
+
+<p>Definition in file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="aa15a48d384a7c2b7be1b380b166705b6"></a><!-- doxytag: member="fixed_integer.hpp::BOOST_XINT_FIXED_BINARY_FN" ref="aa15a48d384a7c2b7be1b380b166705b6" args="(name, body)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_FIXED_BINARY_FN</td>
+ <td>(</td>
+ <td class="paramtype">name, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">body&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; \
+fixed_integer&lt;Bits&gt; name(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; op1, \
+ <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; op2) \
+{ \
+ fixed_integer&lt;Bits&gt; r; \
+ body(r, op1, op2); \
+ <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r); \
+} \
+\
+<span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits, <span class="keyword">typename</span> T&gt; \
+<a class="code" href="fixed__integer_8hpp.html#ade575df9b3b2a7c878c18039f07e450e">BOOST_XINT_NFIXED</a> name(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span> T&amp; n2) { \
+ fixed_integer&lt;Bits&gt; r; \
+ body(r, n1, fixed_integer_any(n2)); \
+ <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r); \
+} \
+\
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">size_t</span> Bits&gt; \
+<a class="code" href="fixed__integer_8hpp.html#ade575df9b3b2a7c878c18039f07e450e">BOOST_XINT_NFIXED</a> name(<span class="keyword">const</span> T&amp; n1, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n2) { \
+ fixed_integer&lt;Bits&gt; r; \
+ body(r, fixed_integer_any(n1), n2); \
+ <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r); \
+}
+</pre></div>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00247">247</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a490464f91771afb55d8b1ec91d954825"></a><!-- doxytag: member="fixed_integer.hpp::BOOST_XINT_FIXED_OPEQ_FN" ref="a490464f91771afb55d8b1ec91d954825" args="(name, body)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_FIXED_OPEQ_FN</td>
+ <td>(</td>
+ <td class="paramtype">name, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">body&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; \
+fixed_integer&lt;Bits&gt;&amp; fixed_integer&lt;Bits&gt;::name(<span class="keyword">const</span> fixed_integer_any&amp; n) { \
+ body(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); \
+ <span class="keywordflow">return</span> *<span class="keyword">this</span>; \
+}
+</pre></div>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00443">443</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ade575df9b3b2a7c878c18039f07e450e"></a><!-- doxytag: member="fixed_integer.hpp::BOOST_XINT_NFIXED" ref="ade575df9b3b2a7c878c18039f07e450e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_NFIXED</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">typename</span> boost::disable_if&lt;boost::is_base_of&lt;\
+ fixed_integer_any, T&gt;, fixed_integer&lt;Bits&gt; &gt;::type
+</pre></div>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00244">244</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/fixed__integer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/fixed__integer_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,757 @@
+<!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: fixed_integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>fixed_integer.hpp</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">#ifndef BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/shared_ptr.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
+<a name="l00027"></a>00027
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00053"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">00053</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>: <span class="keyword">public</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a> {
+<a name="l00054"></a>00054 <span class="keyword">public</span>:
+<a name="l00057"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">00057</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>();
+<a name="l00058"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">00058</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; b);
+<a name="l00059"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#acb3c1e3c5bf0395beed0ba9d58a39600">00059</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for all integer classes.">base_integer</a>&amp; b);
+<a name="l00060"></a>00060 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00062"></a>00062 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00065"></a>00065 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00066"></a>00066 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
+<a name="l00068"></a>00068
+<a name="l00071"></a>00071 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">odd</a>() <span class="keyword">const</span>;
+<a name="l00072"></a>00072 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">even</a>() <span class="keyword">const</span>;
+<a name="l00073"></a>00073 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">sign</a>(<span class="keywordtype">bool</span> signed_zero=<span class="keyword">false</span>) <span class="keyword">const</span>;
+<a name="l00074"></a>00074 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">hex_digits</a>() <span class="keyword">const</span>;
+<a name="l00076"></a>00076
+<a name="l00081"></a>00081
+<a name="l00082"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">00082</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<a name="l00086"></a>00086 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">operator-</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(*<span class="keyword">this</span>); }
+<a name="l00087"></a>00087 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00088"></a>00088 <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a195d3683bf389a1d3467a90c4f797b20">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00089"></a>00089 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82" title="The Bitwise Ones&amp;#39; Complement (i.e. bitwise NOT) operator.">operator~</a>() <span class="keyword">const</span>;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aee99171535628c8466999d3bdc2b7516">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; b);
+<a name="l00092"></a>00092 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8269a74cf9ed0dd4fbf7fb348cb35626">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; b);
+<a name="l00093"></a>00093 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a3f19202d563bcee5fce090d09e353dc6">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; b);
+<a name="l00094"></a>00094 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a3ea864bd2849226218e5e5fa4332bac3">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; b);
+<a name="l00095"></a>00095 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a49bd66c70cb6b121bfaea17627321779">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; b);
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">operator++</a>();
+<a name="l00098"></a>00098 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">operator--</a>();
+<a name="l00099"></a>00099 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">operator++</a>(<span class="keywordtype">int</span>);
+<a name="l00100"></a>00100 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a6b9fd6cf35616b29c03d621a1a2d8c83">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; n);
+<a name="l00103"></a>00103 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ab24851149e1e43675669f79421feb0c6">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; n);
+<a name="l00104"></a>00104 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#acd4a98a6eb089b7f806b74607249f027">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>&amp; n);
+<a name="l00105"></a>00105 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">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>;
+<a name="l00106"></a>00106 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">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>;
+<a name="l00107"></a>00107 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">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="l00108"></a>00108 fixed_integer&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">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="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> base_divide_t&lt;fixed_integer&lt;Bits&gt; &gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">divide_t</a>;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">private</span>:
+<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> _c_digits;
+<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> _c_mask;
+<a name="l00116"></a>00116 <span class="keyword">static</span> boost::shared_ptr&lt;detail::data_t&gt; preallocated_zero;
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">const</span> <span class="keywordtype">size_t</span> fixed_integer&lt;Bits&gt;::_c_digits =
+<a name="l00120"></a>00120 (Bits + <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a> - 1) / <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>;
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> fixed_integer&lt;Bits&gt;::_c_mask =
+<a name="l00122"></a>00122 ((Bits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>) == 0) ? <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>
+<a name="l00123"></a>00123 : ((<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>(1) &lt;&lt; (Bits % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>)) - 1);
+<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; boost::shared_ptr&lt;detail::data_t&gt;
+<a name="l00125"></a>00125 fixed_integer&lt;Bits&gt;::preallocated_zero(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">detail::allocate_fixed_zero</a>(
+<a name="l00126"></a>00126 fixed_integer&lt;Bits&gt;::_c_mask, fixed_integer&lt;Bits&gt;::_c_digits),
+<a name="l00127"></a>00127 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">detail::deallocate</a>);
+<a name="l00128"></a>00128
+<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
+<a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
+<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n,
+<a name="l00134"></a>00134 <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; addend);
+<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp;
+<a name="l00136"></a>00136 n, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; subtrahend);
+<a name="l00137"></a>00137 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp;
+<a name="l00138"></a>00138 n, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; multiplicand);
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp;
+<a name="l00140"></a>00140 dividend, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor);
+<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <span class="keyword">typename</span> fixed_integer&lt;Bits&gt;::divide_t <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span>
+<a name="l00142"></a>00142 fixed_integer&lt;Bits&gt;&amp; dividend, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor);
+<a name="l00144"></a>00144
+<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00148"></a>00148 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
+<a name="l00149"></a>00149 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00150"></a>00150 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00151"></a>00151 fixed_integer_any&amp; exponent);
+<a name="l00152"></a>00152 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00153"></a>00153 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">fixed_pow2</a>(<span class="keywordtype">size_t</span> exponent);
+<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00155"></a>00155 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">fixed_factorial</a>(<span class="keywordtype">size_t</span> n);
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00157"></a>00157 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
+<a name="l00159"></a>00159
+<a name="l00162"></a>00162 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits, <span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n);
+<a name="l00163"></a>00163 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span>
+<a name="l00164"></a>00164 uppercase=<span class="keyword">false</span>);
+<a name="l00165"></a>00165 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">fixed_from_string</a>(<span class="keyword">const</span>
+<a name="l00166"></a>00166 std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> fixed_integer_any&amp; n,
+<a name="l00168"></a>00168 <span class="keywordtype">size_t</span> bits=0);
+<a name="l00169"></a>00169 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt; fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">fixed_from_binary</a>(<span class="keyword">const</span>
+<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; s, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00172"></a>00172
+<a name="l00175"></a>00175 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00176"></a>00176 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00177"></a>00177 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00178"></a>00178 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00180"></a>00180 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00182"></a>00182 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00184"></a>00184 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00185"></a>00185 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00186"></a>00186 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00187"></a>00187 fixed_integer&lt;Bits&gt;&amp; n2);
+<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00189"></a>00189 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00190"></a>00190 fixed_integer&lt;Bits&gt;&amp; n2);
+<a name="l00191"></a>00191 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00192"></a>00192 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00193"></a>00193 fixed_integer&lt;Bits&gt;&amp; n2);
+<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00195"></a>00195 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">int</span> byBits);
+<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00197"></a>00197 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00199"></a>00199 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00201"></a>00201
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00209"></a>00209 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp;
+<a name="l00210"></a>00210 modBy);
+<a name="l00211"></a>00211 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00212"></a>00212 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00213"></a>00213 fixed_integer&lt;Bits&gt;&amp; by, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; modulus);
+<a name="l00214"></a>00214 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00215"></a>00215 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00216"></a>00216 fixed_integer&lt;Bits&gt;&amp; modulus);
+<a name="l00217"></a>00217 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00218"></a>00218 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00219"></a>00219 fixed_integer&lt;Bits&gt;&amp; exponent, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; modulus,
+<a name="l00220"></a>00220 <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
+<a name="l00221"></a>00221 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00222"></a>00222 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00223"></a>00223 fixed_integer&lt;Bits&gt;&amp; modulus);
+<a name="l00225"></a>00225
+<a name="l00228"></a>00228 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00229"></a>00229 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn =
+<a name="l00230"></a>00230 <span class="keyword">false</span>, <span class="keywordtype">bool</span> lowBitOn = <span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative = <span class="keyword">false</span>);
+<a name="l00232"></a>00232
+<a name="l00235"></a>00235 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00236"></a>00236 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00237"></a>00237 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
+<a name="l00238"></a>00238 <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00240"></a>00240
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 <span class="preprocessor">#define BOOST_XINT_NFIXED typename boost::disable_if&lt;boost::is_base_of&lt;\</span>
+<a name="l00247"></a><a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">00247</a> <span class="preprocessor"> fixed_integer_any, T&gt;, fixed_integer&lt;Bits&gt; &gt;::type</span>
+<a name="l00248"></a>00248 <span class="preprocessor"></span>
+<a name="l00249"></a>00249 <span class="preprocessor">#define BOOST_XINT_FIXED_BINARY_FN(name, body) \</span>
+<a name="l00250"></a>00250 <span class="preprocessor">template &lt;size_t Bits&gt; \</span>
+<a name="l00251"></a>00251 <span class="preprocessor">fixed_integer&lt;Bits&gt; name(const fixed_integer&lt;Bits&gt;&amp; op1, \</span>
+<a name="l00252"></a>00252 <span class="preprocessor"> const fixed_integer&lt;Bits&gt;&amp; op2) \</span>
+<a name="l00253"></a>00253 <span class="preprocessor">{ \</span>
+<a name="l00254"></a>00254 <span class="preprocessor"> fixed_integer&lt;Bits&gt; r; \</span>
+<a name="l00255"></a>00255 <span class="preprocessor"> body(r, op1, op2); \</span>
+<a name="l00256"></a>00256 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l00257"></a>00257 <span class="preprocessor">} \</span>
+<a name="l00258"></a>00258 <span class="preprocessor">\</span>
+<a name="l00259"></a>00259 <span class="preprocessor">template &lt;size_t Bits, typename T&gt; \</span>
+<a name="l00260"></a>00260 <span class="preprocessor">BOOST_XINT_NFIXED name(const fixed_integer&lt;Bits&gt;&amp; n1, const T&amp; n2) { \</span>
+<a name="l00261"></a>00261 <span class="preprocessor"> fixed_integer&lt;Bits&gt; r; \</span>
+<a name="l00262"></a>00262 <span class="preprocessor"> body(r, n1, fixed_integer_any(n2)); \</span>
+<a name="l00263"></a>00263 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l00264"></a>00264 <span class="preprocessor">} \</span>
+<a name="l00265"></a>00265 <span class="preprocessor">\</span>
+<a name="l00266"></a>00266 <span class="preprocessor">template &lt;typename T, size_t Bits&gt; \</span>
+<a name="l00267"></a>00267 <span class="preprocessor">BOOST_XINT_NFIXED name(const T&amp; n1, const fixed_integer&lt;Bits&gt;&amp; n2) { \</span>
+<a name="l00268"></a>00268 <span class="preprocessor"> fixed_integer&lt;Bits&gt; r; \</span>
+<a name="l00269"></a>00269 <span class="preprocessor"> body(r, fixed_integer_any(n1), n2); \</span>
+<a name="l00270"></a>00270 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l00271"></a>00271 <span class="preprocessor">}</span>
+<a name="l00272"></a>00272 <span class="preprocessor"></span>
+<a name="l00273"></a>00273 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(<span class="keyword">operator</span>+, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>)
+<a name="l00274"></a>00274 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator-, detail::<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>)
+<a name="l00275"></a>00275 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator*, detail::<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>)
+<a name="l00276"></a>00276 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator/, detail::<a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>)
+<a name="l00277"></a>00277 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator%, detail::<a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>)
+<a name="l00278"></a>00278 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator&amp;, detail::<a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>)
+<a name="l00279"></a>00279 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator|, detail::<a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>)
+<a name="l00280"></a>00280 <a class="code" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">BOOST_XINT_FIXED_BINARY_FN</a>(operator^, detail::<a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>)
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <span class="keywordtype">bool</span> operator==(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2);
+<a name="l00283"></a>00283 <span class="keywordtype">bool</span> operator!=(const fixed_integer_any&amp; num1, const fixed_integer_any&amp; num2);
+<a name="l00284"></a>00284 <span class="keywordtype">bool</span> operator&lt;(const fixed_integer_any&amp; num1, const fixed_integer_any&amp; num2);
+<a name="l00285"></a>00285 <span class="keywordtype">bool</span> operator&gt;(const fixed_integer_any&amp; num1, const fixed_integer_any&amp; num2);
+<a name="l00286"></a>00286 <span class="keywordtype">bool</span> operator&lt;=(const fixed_integer_any&amp; num1, const fixed_integer_any&amp; num2);
+<a name="l00287"></a>00287 <span class="keywordtype">bool</span> operator&gt;=(const fixed_integer_any&amp; num1, const fixed_integer_any&amp; num2);
+<a name="l00289"></a>00289
+<a name="l00292"></a>00292 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const fixed_integer_any&amp; c1, const fixed_integer_any&amp; c2, <span class="keywordtype">bool</span>
+<a name="l00293"></a>00293 ignoresign=false);
+<a name="l00294"></a>00294 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const fixed_integer_any&amp; n);
+<a name="l00295"></a>00295 template &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00296"></a>00296 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const fixed_integer&lt;Bits&gt;&amp; num1, const
+<a name="l00297"></a>00297 fixed_integer&lt;Bits&gt;&amp; num2);
+<a name="l00298"></a>00298 template &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00299"></a>00299 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const fixed_integer&lt;Bits&gt;&amp; num1, const
+<a name="l00300"></a>00300 fixed_integer&lt;Bits&gt;&amp; num2);
+<a name="l00302"></a>00302
+<a name="l00304"></a>00304 <span class="comment">// fixed_integer member function definitions</span>
+<a name="l00305"></a>00305
+<a name="l00307"></a>00307 template &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00308"></a>00308 fixed_integer&lt;Bits&gt;::fixed_integer(): fixed_integer_any(preallocated_zero.get())
+<a name="l00309"></a>00309 { }
+<a name="l00310"></a>00310
+<a name="l00317"></a>00317 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00318"></a>00318 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer&lt;Bits&gt;::fixed_integer</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; b):
+<a name="l00319"></a>00319 fixed_integer_any(b) { }
+<a name="l00320"></a>00320
+<a name="l00331"></a>00331 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00332"></a>00332 fixed_integer&lt;Bits&gt;::fixed_integer(<span class="keyword">const</span> base_integer&amp; b):
+<a name="l00333"></a>00333 fixed_integer_any(preallocated_zero.get())
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 <span class="keywordflow">if</span> (b._is_nan()) <span class="keywordflow">throw</span> exceptions::not_a_number();
+<a name="l00336"></a>00336 _attach(b);
+<a name="l00337"></a>00337 }
+<a name="l00338"></a>00338
+<a name="l00344"></a>00344 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00345"></a>00345 fixed_integer&lt;Bits&gt;::fixed_integer(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base):
+<a name="l00346"></a>00346 fixed_integer_any(_c_digits, _c_mask)
+<a name="l00347"></a>00347 {
+<a name="l00348"></a>00348 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350
+<a name="l00366"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aa302b0b3adb58cf7d79009058322f528">00366</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00367"></a>00367 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00368"></a>00368 fixed_integer&lt;Bits&gt;::fixed_integer(<span class="keyword">const</span> T&amp; n,
+<a name="l00369"></a>00369 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00370"></a>00370 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*):
+<a name="l00371"></a>00371 <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>(_c_digits, _c_mask)
+<a name="l00372"></a>00372 {
+<a name="l00373"></a>00373 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
+<a name="l00374"></a>00374 }
+<a name="l00375"></a>00375
+<a name="l00391"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a18c23eb0b0d3491cc3fcfdb0b7805a46">00391</a> <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00392"></a>00392 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00393"></a>00393 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa" title="Creates a new fixed_integer with an initial value of zero.">fixed_integer&lt;Bits&gt;::fixed_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00394"></a>00394 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00395"></a>00395 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*):
+<a name="l00396"></a>00396 <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>(_c_digits, _c_mask)
+<a name="l00397"></a>00397 {
+<a name="l00398"></a>00398 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
+<a name="l00399"></a>00399 }
+<a name="l00400"></a>00400
+<a name="l00402"></a>00402 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00403"></a>00403 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7cf3f89f994ac21e3858c3b0cdf7d8c7">fixed_integer&lt;Bits&gt;::odd</a>()<span class="keyword"> const </span>{
+<a name="l00404"></a>00404 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01) != 0;
+<a name="l00405"></a>00405 }
+<a name="l00406"></a>00406
+<a name="l00408"></a>00408 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00409"></a>00409 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">fixed_integer&lt;Bits&gt;::even</a>()<span class="keyword"> const </span>{
+<a name="l00410"></a>00410 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01) == 0;
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412
+<a name="l00414"></a>00414 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00415"></a>00415 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">fixed_integer&lt;Bits&gt;::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
+<a name="l00416"></a>00416 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) <span class="keywordflow">return</span> 0;
+<a name="l00417"></a>00417 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419
+<a name="l00421"></a>00421 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00422"></a>00422 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">fixed_integer&lt;Bits&gt;::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00423"></a>00423 <span class="keywordtype">size_t</span> bits=<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>();
+<a name="l00424"></a>00424 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
+<a name="l00425"></a>00425 }
+<a name="l00426"></a>00426
+<a name="l00432"></a>00432 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00433"></a>00433 fixed_integer&lt;Bits&gt; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82" title="The Bitwise Ones&amp;#39; Complement (i.e. bitwise NOT) operator.">fixed_integer&lt;Bits&gt;::operator~</a>()<span class="keyword"> const </span>{
+<a name="l00434"></a>00434 fixed_integer&lt;Bits&gt; r(*<span class="keyword">this</span>);
+<a name="l00435"></a>00435 r._make_unique();
+<a name="l00436"></a>00436 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> *p = r._get_writable_digits(), *pe1 = p + r._get_length(),
+<a name="l00437"></a>00437 *pe2 = p + _c_digits;
+<a name="l00438"></a>00438 <span class="keywordflow">while</span> (p != pe1) { *p = ~(*p); ++p; }
+<a name="l00439"></a>00439 <span class="keywordflow">while</span> (p != pe2) *p++ = <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>;
+<a name="l00440"></a>00440 r._set_length(_c_digits);
+<a name="l00441"></a>00441 r._cleanup();
+<a name="l00442"></a>00442 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00443"></a><a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">00443</a> }
+<a name="l00444"></a>00444
+<a name="l00445"></a>00445 <span class="preprocessor">#define BOOST_XINT_FIXED_OPEQ_FN(name, body) \</span>
+<a name="l00446"></a>00446 <span class="preprocessor">template &lt;size_t Bits&gt; \</span>
+<a name="l00447"></a>00447 <span class="preprocessor">fixed_integer&lt;Bits&gt;&amp; fixed_integer&lt;Bits&gt;::name(const fixed_integer_any&amp; n) { \</span>
+<a name="l00448"></a>00448 <span class="preprocessor"> body(*this, *this, n); \</span>
+<a name="l00449"></a>00449 <span class="preprocessor"> return *this; \</span>
+<a name="l00450"></a>00450 <span class="preprocessor">}</span>
+<a name="l00451"></a>00451 <span class="preprocessor"></span>
+<a name="l00452"></a>00452 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(<span class="keyword">operator</span>+=, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>)
+<a name="l00453"></a>00453 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator-=, detail::<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>)
+<a name="l00454"></a>00454 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator*=, detail::<a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>)
+<a name="l00455"></a>00455 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator/=, detail::<a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>)
+<a name="l00456"></a>00456 <a class="code" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">BOOST_XINT_FIXED_OPEQ_FN</a>(operator%=, detail::<a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>)
+<a name="l00457"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ac78f10b3130a60ba9d5e392ddb5629f3">00457</a>
+<a name="l00458"></a>00458 template &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00459"></a>00459 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>&lt;Bits&gt;&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a>&lt;Bits&gt;::operator&lt;&lt;=(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00460"></a>00460 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00461"></a>00461 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00462"></a>00462 }
+<a name="l00463"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">00463</a>
+<a name="l00464"></a>00464 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00465"></a>00465 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aea1a25705a83f84b416e3aabd0d30d01">fixed_integer&lt;Bits&gt;::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="l00466"></a>00466 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00467"></a>00467 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00468"></a>00468 }
+<a name="l00469"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">00469</a>
+<a name="l00470"></a>00470 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00471"></a>00471 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a2caf7d4d873d7805beb2e62ddcb9b4f3">fixed_integer&lt;Bits&gt;::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>{
+<a name="l00472"></a>00472 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r;
+<a name="l00473"></a>00473 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(r, *<span class="keyword">this</span>, shift);
+<a name="l00474"></a>00474 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00475"></a>00475 }
+<a name="l00476"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">00476</a>
+<a name="l00477"></a>00477 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00478"></a>00478 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a472d2d3147f4e762efdce04fdf50efa9">fixed_integer&lt;Bits&gt;::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>{
+<a name="l00479"></a>00479 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r;
+<a name="l00480"></a>00480 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(r, *<span class="keyword">this</span>, shift);
+<a name="l00481"></a>00481 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00482"></a>00482 }
+<a name="l00483"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">00483</a>
+<a name="l00484"></a>00484 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00485"></a>00485 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">fixed_integer&lt;Bits&gt;::operator++</a>() {
+<a name="l00486"></a>00486 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>();
+<a name="l00487"></a>00487 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00488"></a>00488 }
+<a name="l00489"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">00489</a>
+<a name="l00490"></a>00490 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00491"></a>00491 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">fixed_integer&lt;Bits&gt;::operator--</a>() {
+<a name="l00492"></a>00492 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>();
+<a name="l00493"></a>00493 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00494"></a>00494 }
+<a name="l00495"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a781e7f1612a68f1c35c2bc8d17d33b0c">00495</a>
+<a name="l00496"></a>00496 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00497"></a>00497 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a045819216daea2ec2509066310d1755d">fixed_integer&lt;Bits&gt;::operator++</a>(<span class="keywordtype">int</span>) {
+<a name="l00498"></a>00498 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> old(*<span class="keyword">this</span>);
+<a name="l00499"></a>00499 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>();
+<a name="l00500"></a>00500 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(old);
+<a name="l00501"></a>00501 }
+<a name="l00502"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a92b08d730aa7913ccc2b9860cda5cb1b">00502</a>
+<a name="l00503"></a>00503 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00504"></a>00504 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a4623f3c93f327cb2fc426cf3c1c14e1e">fixed_integer&lt;Bits&gt;::operator--</a>(<span class="keywordtype">int</span>) {
+<a name="l00505"></a>00505 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> old(*<span class="keyword">this</span>);
+<a name="l00506"></a>00506 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>();
+<a name="l00507"></a>00507 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(old);
+<a name="l00508"></a>00508 }
+<a name="l00509"></a>00509
+<a name="l00511"></a>00511 <span class="comment">// Non-member fixed_integer function definitions</span>
+<a name="l00512"></a>00512
+<a name="l00514"></a>00514 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00515"></a>00515 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n) {
+<a name="l00516"></a>00516 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>()) {
+<a name="l00517"></a>00517 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r(n);
+<a name="l00518"></a>00518 r._set_negative(<span class="keyword">false</span>);
+<a name="l00519"></a>00519 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00520"></a>00520 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> n;
+<a name="l00521"></a>00521 }
+<a name="l00522"></a>00522
+<a name="l00524"></a>00524 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00525"></a>00525 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
+<a name="l00526"></a>00526 fixed_integer&lt;Bits&gt; r(n);
+<a name="l00527"></a>00527 r._set_negative(!r._get_negative());
+<a name="l00528"></a>00528 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00529"></a>00529 }
+<a name="l00530"></a>00530
+<a name="l00532"></a>00532 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00533"></a>00533 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00534"></a>00534 fixed_integer&lt;Bits&gt;&amp; n2)
+<a name="l00535"></a>00535 {
+<a name="l00536"></a>00536 fixed_integer&lt;Bits&gt; r;
+<a name="l00537"></a>00537 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>(r, n1, n2);
+<a name="l00538"></a>00538 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00539"></a>00539 }
+<a name="l00540"></a>00540
+<a name="l00542"></a>00542 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00543"></a>00543 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00544"></a>00544 fixed_integer&lt;Bits&gt;&amp; n2)
+<a name="l00545"></a>00545 {
+<a name="l00546"></a>00546 fixed_integer&lt;Bits&gt; r;
+<a name="l00547"></a>00547 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">detail::subtract</a>(r, n1, n2);
+<a name="l00548"></a>00548 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00549"></a>00549 }
+<a name="l00550"></a>00550
+<a name="l00552"></a>00552 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00553"></a>00553 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00554"></a>00554 fixed_integer&lt;Bits&gt;&amp; by)
+<a name="l00555"></a>00555 {
+<a name="l00556"></a>00556 fixed_integer&lt;Bits&gt; r;
+<a name="l00557"></a>00557 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">detail::multiply</a>(r, n, by);
+<a name="l00558"></a>00558 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00559"></a>00559 }
+<a name="l00560"></a>00560
+<a name="l00562"></a>00562 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00563"></a>00563 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; dividend,
+<a name="l00564"></a>00564 <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor)
+<a name="l00565"></a>00565 {
+<a name="l00566"></a>00566 fixed_integer&lt;Bits&gt; q, r;
+<a name="l00567"></a>00567 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, dividend, divisor);
+<a name="l00568"></a>00568 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q);
+<a name="l00569"></a>00569 }
+<a name="l00570"></a>00570
+<a name="l00572"></a>00572 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00573"></a>00573 <span class="keyword">typename</span> fixed_integer&lt;Bits&gt;::divide_t <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp;
+<a name="l00574"></a>00574 dividend, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; divisor)
+<a name="l00575"></a>00575 {
+<a name="l00576"></a>00576 fixed_integer&lt;Bits&gt; q, r;
+<a name="l00577"></a>00577 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, dividend, divisor);
+<a name="l00578"></a>00578 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(fixed_integer&lt;Bits&gt;::divide_t,
+<a name="l00579"></a>00579 fixed_integer&lt;Bits&gt;::divide_t(<a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q), <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r)));
+<a name="l00580"></a>00580 }
+<a name="l00581"></a>00581
+<a name="l00583"></a>00583 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00584"></a>00584 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
+<a name="l00585"></a>00585 fixed_integer&lt;Bits&gt; r;
+<a name="l00586"></a>00586 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">detail::sqr</a>(r, n);
+<a name="l00587"></a>00587 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00588"></a>00588 }
+<a name="l00589"></a>00589
+<a name="l00591"></a>00591 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00592"></a>00592 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00593"></a>00593 fixed_integer_any&amp; e)
+<a name="l00594"></a>00594 {
+<a name="l00595"></a>00595 fixed_integer&lt;Bits&gt; r;
+<a name="l00596"></a>00596 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">detail::pow</a>(r, n, e);
+<a name="l00597"></a>00597 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00598"></a>00598 }
+<a name="l00599"></a>00599
+<a name="l00601"></a>00601 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00602"></a>00602 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">fixed_pow2</a>(<span class="keywordtype">size_t</span> e) {
+<a name="l00603"></a>00603 fixed_integer&lt;Bits&gt; r;
+<a name="l00604"></a>00604 <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="l00605"></a>00605 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00606"></a>00606 }
+<a name="l00607"></a>00607
+<a name="l00609"></a>00609 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00610"></a>00610 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">fixed_factorial</a>(<span class="keywordtype">size_t</span> n) {
+<a name="l00611"></a>00611 fixed_integer&lt;Bits&gt; r;
+<a name="l00612"></a>00612 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">detail::factorial</a>(r, n);
+<a name="l00613"></a>00613 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00614"></a>00614 }
+<a name="l00615"></a>00615
+<a name="l00617"></a>00617 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00618"></a>00618 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
+<a name="l00619"></a>00619 fixed_integer&lt;Bits&gt; r;
+<a name="l00620"></a>00620 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">detail::sqrt</a>(r, n);
+<a name="l00621"></a>00621 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00622"></a>00622 }
+<a name="l00623"></a>00623
+<a name="l00625"></a>00625 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits, <span class="keyword">typename</span> T&gt;
+<a name="l00626"></a>00626 T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n) {
+<a name="l00627"></a>00627 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00628"></a>00628 }
+<a name="l00629"></a>00629
+<a name="l00631"></a>00631 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00632"></a>00632 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">fixed_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00633"></a>00633 fixed_integer&lt;Bits&gt; r;
+<a name="l00634"></a>00634 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(r, str, base);
+<a name="l00635"></a>00635 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00636"></a>00636 }
+<a name="l00637"></a>00637
+<a name="l00639"></a>00639 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00640"></a>00640 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <span class="keywordtype">size_t</span> bits) {
+<a name="l00641"></a>00641 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
+<a name="l00642"></a>00642 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">detail::to_binary</a>(r, n, bits);
+<a name="l00643"></a>00643 <span class="keywordflow">return</span> r;
+<a name="l00644"></a>00644 }
+<a name="l00645"></a>00645
+<a name="l00647"></a>00647 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00648"></a>00648 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">fixed_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
+<a name="l00649"></a>00649 fixed_integer&lt;Bits&gt; r;
+<a name="l00650"></a>00650 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">detail::from_binary</a>(r, b, bits);
+<a name="l00651"></a>00651 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00652"></a>00652 }
+<a name="l00653"></a>00653
+<a name="l00655"></a>00655 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00656"></a>00656 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00657"></a>00657 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">detail::getbit</a>(n, bit);
+<a name="l00658"></a>00658 }
+<a name="l00659"></a>00659
+<a name="l00661"></a>00661 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00662"></a>00662 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00663"></a>00663 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">detail::setbit</a>(n, bit);
+<a name="l00664"></a>00664 }
+<a name="l00665"></a>00665
+<a name="l00667"></a>00667 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00668"></a>00668 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00669"></a>00669 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">detail::clearbit</a>(n, bit);
+<a name="l00670"></a>00670 }
+<a name="l00671"></a>00671
+<a name="l00673"></a>00673 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00674"></a>00674 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00675"></a>00675 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">detail::lowestbit</a>(n, valueIfZero);
+<a name="l00676"></a>00676 }
+<a name="l00677"></a>00677
+<a name="l00679"></a>00679 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00680"></a>00680 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00681"></a>00681 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">detail::highestbit</a>(n, valueIfZero);
+<a name="l00682"></a>00682 }
+<a name="l00683"></a>00683
+<a name="l00685"></a>00685 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00686"></a>00686 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00687"></a>00687 fixed_integer&lt;Bits&gt;&amp; n2)
+<a name="l00688"></a>00688 {
+<a name="l00689"></a>00689 fixed_integer&lt;Bits&gt; r;
+<a name="l00690"></a>00690 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">detail::bitwise_and</a>(r, n1, n2);
+<a name="l00691"></a>00691 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00692"></a>00692 }
+<a name="l00693"></a>00693
+<a name="l00695"></a>00695 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00696"></a>00696 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00697"></a>00697 fixed_integer&lt;Bits&gt;&amp; n2)
+<a name="l00698"></a>00698 {
+<a name="l00699"></a>00699 fixed_integer&lt;Bits&gt; r;
+<a name="l00700"></a>00700 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">detail::bitwise_or</a>(r, n1, n2);
+<a name="l00701"></a>00701 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00702"></a>00702 }
+<a name="l00703"></a>00703
+<a name="l00705"></a>00705 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00706"></a>00706 fixed_integer&lt;Bits&gt; <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> fixed_integer&lt;Bits&gt;&amp; n1, <span class="keyword">const</span>
+<a name="l00707"></a>00707 fixed_integer&lt;Bits&gt;&amp; n2)
+<a name="l00708"></a>00708 {
+<a name="l00709"></a>00709 fixed_integer&lt;Bits&gt; r;
+<a name="l00710"></a>00710 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">detail::bitwise_xor</a>(r, n1, n2);
+<a name="l00711"></a>00711 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00712"></a>00712 }
+<a name="l00713"></a>00713
+<a name="l00715"></a>00715 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00716"></a>00716 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">int</span> byBits) {
+<a name="l00717"></a>00717 <span class="keywordflow">return</span> (byBits &lt; 0 ? <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 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="l00718"></a>00718 }
+<a name="l00719"></a>00719
+<a name="l00721"></a>00721 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00722"></a>00722 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00723"></a>00723 fixed_integer&lt;Bits&gt; r;
+<a name="l00724"></a>00724 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(r, n, byBits);
+<a name="l00725"></a>00725 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00726"></a>00726 }
+<a name="l00727"></a>00727
+<a name="l00729"></a>00729 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00730"></a>00730 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00731"></a>00731 fixed_integer&lt;Bits&gt; r;
+<a name="l00732"></a>00732 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">detail::shift_right</a>(r, n, byBits);
+<a name="l00733"></a>00733 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00734"></a>00734 }
+<a name="l00735"></a><a class="code" href="namespaceboost_1_1xint.html#a30c0cd9ad317c1a373cdc059b6f81cb9">00735</a>
+<a name="l00736"></a>00736 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00737"></a>00737 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp;
+<a name="l00738"></a>00738 m)
+<a name="l00739"></a>00739 {
+<a name="l00740"></a>00740 <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a> r;
+<a name="l00741"></a>00741 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
+<a name="l00742"></a>00742 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00743"></a>00743 }
+<a name="l00744"></a>00744
+<a name="l00746"></a>00746 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00747"></a>00747 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00748"></a>00748 fixed_integer&lt;Bits&gt;&amp; by, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; m)
+<a name="l00749"></a>00749 {
+<a name="l00750"></a>00750 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
+<a name="l00751"></a>00751 }
+<a name="l00752"></a>00752
+<a name="l00754"></a>00754 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00755"></a>00755 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00756"></a>00756 fixed_integer&lt;Bits&gt;&amp; m)
+<a name="l00757"></a>00757 {
+<a name="l00758"></a>00758 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
+<a name="l00759"></a>00759 }
+<a name="l00760"></a>00760
+<a name="l00762"></a>00762 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00763"></a>00763 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00764"></a>00764 fixed_integer&lt;Bits&gt;&amp; e, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; m, <span class="keywordtype">bool</span> noMontgomery)
+<a name="l00765"></a>00765 {
+<a name="l00766"></a>00766 fixed_integer&lt;Bits&gt; r;
+<a name="l00767"></a>00767 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00768"></a>00768 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00769"></a>00769 }
+<a name="l00770"></a>00770
+<a name="l00772"></a>00772 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00773"></a>00773 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
+<a name="l00774"></a>00774 fixed_integer&lt;Bits&gt;&amp; m)
+<a name="l00775"></a>00775 {
+<a name="l00776"></a>00776 fixed_integer&lt;Bits&gt; r;
+<a name="l00777"></a>00777 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">detail::invmod</a>(r, n, m);
+<a name="l00778"></a>00778 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00779"></a>00779 }
+<a name="l00780"></a>00780
+<a name="l00782"></a>00782 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00783"></a>00783 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span>
+<a name="l00784"></a>00784 low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00785"></a>00785 {
+<a name="l00786"></a>00786 <span class="keywordflow">return</span> fixed_integer&lt;Bits&gt;(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>((std::min)(Bits, bits),
+<a name="l00787"></a>00787 high_bit_on, low_bit_on, can_be_negative));
+<a name="l00788"></a>00788 }
+<a name="l00789"></a>00789
+<a name="l00791"></a>00791 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00792"></a>00792 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)
+<a name="l00793"></a>00793 {
+<a name="l00794"></a>00794 fixed_integer&lt;Bits&gt; r(<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>((std::min)(Bits, size_in_bits), callback));
+<a name="l00795"></a>00795 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00796"></a>00796 }
+<a name="l00797"></a>00797
+<a name="l00799"></a>00799 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00800"></a>00800 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
+<a name="l00801"></a>00801 fixed_integer&lt;Bits&gt;&amp; num2)
+<a name="l00802"></a>00802 {
+<a name="l00803"></a>00803 fixed_integer&lt;Bits&gt; r;
+<a name="l00804"></a>00804 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">detail::gcd</a>(r, num1, num2);
+<a name="l00805"></a>00805 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00806"></a>00806 }
+<a name="l00807"></a>00807
+<a name="l00809"></a>00809 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00810"></a>00810 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
+<a name="l00811"></a>00811 fixed_integer&lt;Bits&gt;&amp; num2)
+<a name="l00812"></a>00812 {
+<a name="l00813"></a>00813 fixed_integer&lt;Bits&gt; r;
+<a name="l00814"></a>00814 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">detail::lcm</a>(r, num1, num2);
+<a name="l00815"></a>00815 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00816"></a>00816 }
+<a name="l00817"></a>00817
+<a name="l00820"></a>00820 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00821"></a>00821 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00822"></a>00822 traits&gt;&amp; out, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n)
+<a name="l00823"></a>00823 {
+<a name="l00824"></a>00824 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00825"></a>00825 }
+<a name="l00826"></a><a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">00826</a>
+<a name="l00827"></a>00827 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00828"></a>00828 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00829"></a>00829 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n)
+<a name="l00830"></a>00830 {
+<a name="l00831"></a>00831 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00832"></a>00832 }
+<a name="l00834"></a>00834
+<a name="l00835"></a>00835 <span class="comment">// No 100% compatible way to declare a specialization of a function template</span>
+<a name="l00836"></a>00836 <span class="comment">// using a templated class, as far as I can tell. This is the second-best</span>
+<a name="l00837"></a><a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">00837</a> <span class="comment">// solution.</span>
+<a name="l00838"></a>00838 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00839"></a>00839 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; right) {
+<a name="l00840"></a>00840 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
+<a name="l00841"></a>00841 }
+<a name="l00842"></a>00842
+<a name="l00843"></a>00843 } <span class="comment">// namespace xint</span>
+<a name="l00844"></a>00844 } <span class="comment">// namespace boost</span>
+<a name="l00845"></a>00845
+<a name="l00846"></a><a class="code" href="namespacestd.html">00846</a> <span class="keyword">namespace </span>std {
+<a name="l00847"></a>00847
+<a name="l00848"></a>00848 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00849"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">00849</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt; {
+<a name="l00850"></a>00850 <span class="keyword">public</span>:
+<a name="l00851"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">00851</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00852"></a>00852
+<a name="l00853"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">00853</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">min</a>() throw() { <span class="keywordflow">return</span>
+<a name="l00854"></a>00854 -~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
+<a name="l00855"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">00855</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">max</a>() throw() { <span class="keywordflow">return</span>
+<a name="l00856"></a>00856 ~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
+<a name="l00857"></a>00857
+<a name="l00858"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">00858</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = Bits;
+<a name="l00859"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">00859</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10; <span class="comment">// = boost::xint::fixed_integer&lt;Bits&gt;::_c_log10;</span>
+<a name="l00860"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">00860</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00861"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">00861</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00862"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">00862</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00863"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">00863</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00864"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">00864</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00865"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">00865</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00866"></a>00866
+<a name="l00867"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">00867</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00868"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">00868</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00869"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">00869</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00870"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">00870</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00871"></a>00871
+<a name="l00872"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">00872</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00873"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">00873</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
+<a name="l00874"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">00874</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00875"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">00875</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00876"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">00876</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00877"></a>00877
+<a name="l00878"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">00878</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00879"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">00879</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00880"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">00880</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00881"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">00881</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00882"></a>00882
+<a name="l00883"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">00883</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00884"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">00884</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">true</span>;
+<a name="l00885"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">00885</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">true</span>;
+<a name="l00886"></a>00886
+<a name="l00887"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">00887</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00888"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">00888</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00889"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">00889</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00890"></a>00890 };
+<a name="l00891"></a>00891
+<a name="l00892"></a>00892 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00893"></a>00893 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt;::digits10 =
+<a name="l00894"></a>00894 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a>(Bits));
+<a name="l00895"></a>00895
+<a name="l00896"></a>00896 } <span class="comment">// namespace std</span>
+<a name="l00897"></a>00897
+<a name="l00898"></a>00898 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

Modified: sandbox/xint/doc/functions.html
==============================================================================
--- sandbox/xint/doc/functions.html (original)
+++ sandbox/xint/doc/functions.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -31,28 +30,31 @@
       <li>Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
+ <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
     <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
+ <li class="current">_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
     </ul>
   </div>
 </div>
@@ -64,38 +66,53 @@
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">boost::xint::detail::base_integer</a>
 </li>
 <li>_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">boost::xint::detail::base_integer</a>
 </li>
 <li>_attach_0()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">boost::xint::detail::base_variable_length_integer</a>
 </li>
-<li>_attach_1()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">boost::xint::detail::base_integer</a>
-</li>
-<li>_attach_n()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">boost::xint::detail::base_integer</a>
-</li>
-<li>_base_make_unique()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">boost::xint::detail::base_integer</a>
+<li>_base_attach()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">boost::xint::detail::base_integer</a>
 </li>
 <li>_cleanup()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">boost::xint::detail::base_integer</a>
 </li>
-<li>_duplicate()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad75a8d9bef5eb2d57cbac37cafd925eb">boost::xint::detail::base_integer</a>
+<li>_decrement()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">boost::xint::detail::base_integer</a>
+</li>
+<li>_fixed_bits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">boost::xint::detail::base_integer</a>
+</li>
+<li>_fixed_digits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_digit()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee8727d51762352bba8ea8e3b8489f2">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_length()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">boost::xint::detail::base_integer</a>
 </li>
+<li>_get_max_length()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">boost::xint::detail::base_integer</a>
+</li>
 <li>_get_negative()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">boost::xint::detail::base_integer</a>
 </li>
+<li>_get_readonly()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">boost::xint::detail::base_integer</a>
+</li>
+<li>_get_writable_digits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">boost::xint::detail::base_integer</a>
+</li>
+<li>_increment()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">boost::xint::detail::base_integer</a>
+</li>
+<li>_is_fixed()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">boost::xint::detail::base_integer</a>
+</li>
 <li>_is_nan()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">boost::xint::detail::base_integer</a>
 </li>
@@ -105,407 +122,46 @@
 <li>_is_zero()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">boost::xint::detail::base_integer</a>
 </li>
+<li>_log2()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">boost::xint::detail::base_integer</a>
+</li>
 <li>_make_unique()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_integer</a>
 </li>
 <li>_realloc()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">boost::xint::detail::base_integer</a>
 </li>
-<li>_set_n()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0980c3f09050640e8f33a9f10bcd2c38">boost::xint::detail::base_integer</a>
+<li>_set_length()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">boost::xint::detail::base_integer</a>
 </li>
 <li>_set_negative()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">boost::xint::detail::base_integer</a>
 </li>
-<li>_shift_left()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aea0cff03f7886f2c44747538e27ad7f1">boost::xint::detail::base_integer</a>
+<li>_set_readonly()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">boost::xint::detail::base_integer</a>
 </li>
-<li>_shift_right()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">boost::xint::detail::base_integer</a>
+<li>_set_signed()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">boost::xint::detail::base_integer</a>
+</li>
+<li>_set_unsigned()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">boost::xint::detail::base_integer</a>
 </li>
 <li>_subtract()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">boost::xint::detail::base_integer</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">boost::xint::detail::base_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cannot_represent()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
-</li>
-<li>copies
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">boost::xint::detail::data_t&lt; digit_count &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>denorm_min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>digits
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>digits10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>dist_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>divide_by_zero()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>entropy()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
-</li>
-<li>epsilon()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>even()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gen
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>gen_t
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>genobj
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>has_denorm
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>has_denorm_loss
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>has_fixed_range
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator</a>
-</li>
-<li>has_infinity
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>has_quiet_NaN
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>has_signaling_NaN
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>hex_digits()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>infinity()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>integer()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">boost::xint::integer</a>
-</li>
-<li>invalid_argument()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">boost::xint::exceptions::invalid_argument</a>
-</li>
-<li>invalid_base()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">boost::xint::exceptions::invalid_base</a>
-</li>
-<li>invalid_digit()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">boost::xint::exceptions::invalid_digit</a>
-</li>
-<li>invalid_modulus()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">boost::xint::exceptions::invalid_modulus</a>
-</li>
-<li>is_bounded
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>is_exact
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>is_iec559
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+<li>_swap()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">boost::xint::detail::base_integer</a>
 </li>
-<li>is_integer
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>is_modulo
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>is_nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">boost::xint::nothrow_integer</a>
-</li>
-<li>is_signed
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>is_specialized
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">boost::xint::detail::data_t&lt; digit_count &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>magnitude
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">boost::xint::detail::data_t&lt; digit_count &gt;</a>
-</li>
-<li>max()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>max_exponent
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>max_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>max_length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">boost::xint::detail::data_t&lt; digit_count &gt;</a>
-</li>
-<li>max_value
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">boost::xint::strong_random_generator</a>
-</li>
-<li>min()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>min_exponent
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>min_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>min_value
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
-</li>
-<li>no_strong_random()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
-</li>
-<li>not_a_number()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
-</li>
-<li>nothrow_integer()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>odd()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">boost::xint::nothrow_integer</a>
-</li>
-<li>one()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">boost::xint::integer</a>
-</li>
-<li>operator%=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&amp;=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">boost::xint::integer</a>
-</li>
-<li>operator()()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>operator*=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">boost::xint::nothrow_integer</a>
-</li>
-<li>operator++()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">boost::xint::integer</a>
-</li>
-<li>operator+=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">boost::xint::nothrow_integer</a>
-</li>
-<li>operator--()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
-</li>
-<li>operator-=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
-</li>
-<li>operator/=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
-</li>
-<li>operator&lt;&lt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">boost::xint::nothrow_integer</a>
-</li>
-<li>operator=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a8d0c877ae53afb89d00c021f10dce67a">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
-</li>
-<li>operator&gt;&gt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
-</li>
-<li>operator^=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
-</li>
-<li>operator|=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">boost::xint::integer</a>
-</li>
-<li>overflow_error()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">boost::xint::exceptions::overflow_error</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
-<li>quiet_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>radix
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>result_type
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">boost::xint::strong_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">boost::xint::detail::base_random_generator</a>
-</li>
-<li>round_error()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>round_style
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>sign()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
-</li>
-<li>signaling_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>tinyness_before
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>too_big()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">boost::xint::exceptions::too_big</a>
-</li>
-<li>traps
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">boost::xint::detail::base_integer</a>
+<li>_to_integer()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">boost::xint::detail::base_integer</a>
 </li>
-<li>~strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">boost::xint::strong_random_generator</a>
+<li>_toggle_negative()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">boost::xint::detail::base_integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Added: sandbox/xint/doc/functions_0x62.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x62.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li class="current">b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>base_divide_t()
+: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">boost::xint::base_divide_t&lt; T &gt;</a>
+</li>
+<li>base_integer()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a94fcb8494e0a8787c34ea6dcb9d5c4cf">boost::xint::detail::base_integer</a>
+</li>
+<li>base_variable_length_integer
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">boost::xint::detail::base_integer</a>
+</li>
+<li>bitqueue_t()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#ae3f9a0321a8e573f1048b897ce11f4b4">boost::xint::detail::bitqueue_t</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x63.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x63.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li class="current">c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cannot_represent()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
+</li>
+<li>copies
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x64.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x64.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li class="current">d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>denorm_min()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>digits
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>digits10
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+<li>dist_t
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">boost::xint::detail::random_generator&lt; T &gt;</a>
+</li>
+<li>divide_by_zero()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
+</li>
+<li>divide_t
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x65.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x65.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li class="current">e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>empty()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#abc884d83f2a723db325c0ebe4234107b">boost::xint::detail::bitqueue_t</a>
+</li>
+<li>entropy()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
+</li>
+<li>epsilon()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+<li>even()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a45f3960bff5c408403644fcc421edeac">boost::xint::fixed_integer&lt; Bits &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

Added: sandbox/xint/doc/functions_0x66.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x66.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li class="current">f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>fixed_integer()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a2d8ad1fd4f6ac182679b151d304c54fa">boost::xint::fixed_integer&lt; Bits &gt;</a>
+</li>
+<li>fixed_integer_any()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">boost::xint::fixed_integer_any</a>
+</li>
+<li>fixed_mask
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t</a>
+</li>
+<li>flag_fixedlength
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer</a>
+</li>
+<li>flag_negative
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer</a>
+</li>
+<li>flag_readonly
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer</a>
+</li>
+<li>flag_t
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

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

Added: sandbox/xint/doc/functions_0x68.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x68.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li class="current">h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>has_denorm
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>has_denorm_loss
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>has_fixed_range
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator</a>
+</li>
+<li>has_infinity
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>has_quiet_NaN
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>has_signaling_NaN
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>hex_digits()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">boost::xint::nothrow_integer</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x69.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x69.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li class="current">i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>infinity()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>integer()
+: <a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">boost::xint::integer</a>
+</li>
+<li>invalid_argument()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">boost::xint::exceptions::invalid_argument</a>
+</li>
+<li>invalid_base()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">boost::xint::exceptions::invalid_base</a>
+</li>
+<li>invalid_digit()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">boost::xint::exceptions::invalid_digit</a>
+</li>
+<li>invalid_modulus()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">boost::xint::exceptions::invalid_modulus</a>
+</li>
+<li>is_bounded
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>is_exact
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>is_iec559
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>is_integer
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+<li>is_modulo
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+<li>is_nan()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">boost::xint::nothrow_integer</a>
+</li>
+<li>is_signed
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>is_specialized
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x6c.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x6c.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li class="current">l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>length
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

Added: sandbox/xint/doc/functions_0x6d.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x6d.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li class="current">m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>magnitude
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t</a>
+</li>
+<li>max()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>max_exponent
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>max_exponent10
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>max_length
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t</a>
+</li>
+<li>max_value
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">boost::xint::strong_random_generator</a>
+</li>
+<li>min()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+<li>min_exponent
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+<li>min_exponent10
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>min_value
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">boost::xint::strong_random_generator</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x6e.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x6e.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li class="current">n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>nan()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
+</li>
+<li>neg_t()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html#a2d0092381d136bedd55a86b505e6e6a8">boost::xint::detail::neg_t</a>
+</li>
+<li>no_strong_random()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
+</li>
+<li>not_a_number()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
+</li>
+<li>nothrow_integer()
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">boost::xint::nothrow_integer</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

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

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

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

Added: sandbox/xint/doc/functions_0x72.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x72.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li class="current">r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>radix
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>random_generator()
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">boost::xint::detail::random_generator&lt; T &gt;</a>
+</li>
+<li>remainder
+: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">boost::xint::base_divide_t&lt; T &gt;</a>
+</li>
+<li>result_type
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">boost::xint::strong_random_generator</a>
+, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">boost::xint::detail::base_random_generator</a>
+</li>
+<li>round_error()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>round_style
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<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/functions_0x73.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x73.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li class="current">s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>sign()
+: <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">boost::xint::fixed_integer&lt; Bits &gt;</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
+</li>
+<li>signaling_NaN()
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>size()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html#a35cc9b2d04b453c7fc9bbfbd472828f1">boost::xint::detail::bitqueue_t</a>
+</li>
+<li>strong_random_generator()
+: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

Added: sandbox/xint/doc/functions_0x74.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/functions_0x74.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li class="current">t</li>
+ <li>z</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>temp_t
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">boost::xint::detail::base_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html#ad9076ae2f9de8dfe2c110696a83e9dd0">boost::xint::detail::temp_t</a>
+</li>
+<li>tinyness_before
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+</li>
+<li>too_big()
+: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">boost::xint::exceptions::too_big</a>
+</li>
+<li>traps
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
+</body>
+</html>

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

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

Modified: sandbox/xint/doc/functions_func.html
==============================================================================
--- sandbox/xint/doc/functions_func.html (original)
+++ sandbox/xint/doc/functions_func.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -31,26 +30,29 @@
       <li class="current">Functions</li>
       <li>Variables</li>
       <li>Typedefs</li>
+ <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
     <ul>
- <li>_</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
+ <li class="current">_</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>h</li>
+ <li>i</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>q</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
+ <li>~</li>
     </ul>
   </div>
 </div>
@@ -62,38 +64,53 @@
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">boost::xint::detail::base_integer</a>
 </li>
 <li>_attach()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">boost::xint::detail::base_integer</a>
 </li>
 <li>_attach_0()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">boost::xint::detail::base_variable_length_integer</a>
 </li>
-<li>_attach_1()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">boost::xint::detail::base_integer</a>
-</li>
-<li>_attach_n()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">boost::xint::detail::base_integer</a>
-</li>
-<li>_base_make_unique()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">boost::xint::detail::base_integer</a>
+<li>_base_attach()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">boost::xint::detail::base_integer</a>
 </li>
 <li>_cleanup()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab74b3c73fe6560f1f760b1a94612b189">boost::xint::detail::base_integer</a>
 </li>
-<li>_duplicate()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad75a8d9bef5eb2d57cbac37cafd925eb">boost::xint::detail::base_integer</a>
+<li>_decrement()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">boost::xint::detail::base_integer</a>
+</li>
+<li>_fixed_bits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a89015b1e803dbd5162f6b6e5f3ff374c">boost::xint::detail::base_integer</a>
+</li>
+<li>_fixed_digits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a546d2270418066857ddf948b20de4810">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_digit()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_digits()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee8727d51762352bba8ea8e3b8489f2">boost::xint::detail::base_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4dbd638f790c50cfb2f68af5d3852372">boost::xint::detail::base_integer</a>
 </li>
 <li>_get_length()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">boost::xint::detail::base_integer</a>
 </li>
+<li>_get_max_length()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac9fbd48df9971107d98ff5840ee3557e">boost::xint::detail::base_integer</a>
+</li>
 <li>_get_negative()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">boost::xint::detail::base_integer</a>
 </li>
+<li>_get_readonly()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac4692f68ae9b4c949680421c877dc400">boost::xint::detail::base_integer</a>
+</li>
+<li>_get_writable_digits()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a355b981cef93f9c674fe4202b4d02d64">boost::xint::detail::base_integer</a>
+</li>
+<li>_increment()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">boost::xint::detail::base_integer</a>
+</li>
+<li>_is_fixed()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a70e40ee3b40acbc6a7dd55a7f8d5c13c">boost::xint::detail::base_integer</a>
+</li>
 <li>_is_nan()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#afdaa612dd6669a12d349d6268f1ea3ff">boost::xint::detail::base_integer</a>
 </li>
@@ -103,274 +120,46 @@
 <li>_is_zero()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">boost::xint::detail::base_integer</a>
 </li>
+<li>_log2()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">boost::xint::detail::base_integer</a>
+</li>
 <li>_make_unique()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">boost::xint::nothrow_integer</a>
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aae36cdd1ec2d4d51116ae52ce2863803">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">boost::xint::detail::base_integer</a>
 </li>
 <li>_realloc()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a36175e45a3f8660f59a9de593328fefd">boost::xint::detail::base_integer</a>
 </li>
-<li>_set_n()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0980c3f09050640e8f33a9f10bcd2c38">boost::xint::detail::base_integer</a>
+<li>_set_length()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a44cf0d0743513fe84addcaf2e66bb343">boost::xint::detail::base_integer</a>
 </li>
 <li>_set_negative()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">boost::xint::detail::base_integer</a>
 </li>
-<li>_shift_left()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aea0cff03f7886f2c44747538e27ad7f1">boost::xint::detail::base_integer</a>
+<li>_set_readonly()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">boost::xint::detail::base_integer</a>
+</li>
+<li>_set_signed()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">boost::xint::detail::base_integer</a>
 </li>
-<li>_shift_right()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">boost::xint::detail::base_integer</a>
+<li>_set_unsigned()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">boost::xint::detail::base_integer</a>
 </li>
 <li>_subtract()
 : <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">boost::xint::detail::base_integer</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0e91eb0fd9e83d3cfc284d5b7e20207e">boost::xint::detail::base_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cannot_represent()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">boost::xint::exceptions::cannot_represent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>denorm_min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>divide_by_zero()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>entropy()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">boost::xint::strong_random_generator</a>
-</li>
-<li>epsilon()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>even()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>hex_digits()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>infinity()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-<li>integer()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">boost::xint::integer</a>
-</li>
-<li>invalid_argument()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">boost::xint::exceptions::invalid_argument</a>
-</li>
-<li>invalid_base()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">boost::xint::exceptions::invalid_base</a>
-</li>
-<li>invalid_digit()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">boost::xint::exceptions::invalid_digit</a>
-</li>
-<li>invalid_modulus()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">boost::xint::exceptions::invalid_modulus</a>
-</li>
-<li>is_nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d">boost::xint::nothrow_integer</a>
+<li>_swap()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">boost::xint::detail::base_integer</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>max()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">boost::xint::strong_random_generator</a>
-</li>
-<li>min()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer</a>
-</li>
-<li>no_strong_random()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">boost::xint::exceptions::no_strong_random</a>
-</li>
-<li>not_a_number()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">boost::xint::exceptions::not_a_number</a>
-</li>
-<li>nothrow_integer()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>odd()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">boost::xint::nothrow_integer</a>
-</li>
-<li>one()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">boost::xint::integer</a>
-</li>
-<li>operator%=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0193f6d340643c9d33517bc053f3d6c7">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&amp;=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6d644e1792f821acd8d4b9dfe9aa557e">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">boost::xint::integer</a>
-</li>
-<li>operator()()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">boost::xint::strong_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>
-, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>operator*=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a13e53eb7d7eaff28e52675aed5ee42f1">boost::xint::nothrow_integer</a>
-</li>
-<li>operator++()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#ab202967205b2a52063c2ac19647239bc">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">boost::xint::integer</a>
-</li>
-<li>operator+=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a80ef0930d8b99b324d01bb27efe709f9">boost::xint::nothrow_integer</a>
-</li>
-<li>operator--()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a19758953082fe86fdc13e4bef45fc6b6">boost::xint::nothrow_integer</a>
-</li>
-<li>operator-=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aee5d502fc0045ceaf4abee175c6d4f69">boost::xint::nothrow_integer</a>
-</li>
-<li>operator/=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a04f5934d995a7ca8d0c6bf0d0b2cfdda">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">boost::xint::integer</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a616a917ad4877d96ed634dd502efecb8">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">boost::xint::integer</a>
-</li>
-<li>operator&lt;&lt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeddbf6a9232a10643c8bfb53576393ee">boost::xint::nothrow_integer</a>
-</li>
-<li>operator=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a8d0c877ae53afb89d00c021f10dce67a">boost::xint::nothrow_integer</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a6eb932be75bcc68ca4fca3845c811f87">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">boost::xint::integer</a>
-</li>
-<li>operator&gt;&gt;=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aeb282d877481f9b21e1a9d1d1e6a1044">boost::xint::nothrow_integer</a>
-</li>
-<li>operator^=()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#aab4b0f9c0ffeb93f68185a6ae4a98986">boost::xint::nothrow_integer</a>
-</li>
-<li>operator|=()
-: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a0d005b0e98ea4a078d6c471217c07a24">boost::xint::nothrow_integer</a>
-, <a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">boost::xint::integer</a>
-</li>
-<li>overflow_error()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">boost::xint::exceptions::overflow_error</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
-<li>quiet_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_generator()
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">boost::xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>round_error()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>sign()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">boost::xint::nothrow_integer</a>
-</li>
-<li>signaling_NaN()
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-</li>
-<li>strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">boost::xint::strong_random_generator</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>too_big()
-: <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">boost::xint::exceptions::too_big</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">boost::xint::integer</a>
-, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">boost::xint::nothrow_integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~base_integer()
-: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a33dd417aa6d0a7892efe3d497b8f3f80">boost::xint::detail::base_integer</a>
+<li>_to_integer()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a1ee8597806a71bb2846b9b8eb8d05dce">boost::xint::detail::base_integer</a>
 </li>
-<li>~strong_random_generator()
-: <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">boost::xint::strong_random_generator</a>
+<li>_toggle_negative()
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2397061bb963562fd145ed5b4a6799ca">boost::xint::detail::base_integer</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copied: sandbox/xint/doc/functions_rela.html (from r61346, /sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html)
==============================================================================
--- /sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/doc/functions_rela.html 2010-04-30 00:35:51 EDT (Fri, 30 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: Member List</title>
+<title>The Extended Integer (XInt) Library: Class Members - Related Functions</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -22,15 +21,30 @@
     <ul>
       <li>Class List</li>
       <li>Class Hierarchy</li>
- <li>Class Members</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li class="current">Related Functions</li>
     </ul>
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">boost::xint::divide_by_zero</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html#a67f133dc2856d38d2664f3c8d8c73fe4">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_1divide__by__zero.html">boost::xint::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;
+&nbsp;<ul>
+<li>base_variable_length_integer
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abd3bad49963ec70a929110fbb435832a">boost::xint::detail::base_integer</a>
+</li>
+<li>temp_t
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ac1e1911bc92a092158db403a5412c561">boost::xint::detail::base_integer</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_type.html
==============================================================================
--- sandbox/xint/doc/functions_type.html (original)
+++ sandbox/xint/doc/functions_type.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -31,6 +30,7 @@
       <li>Functions</li>
       <li>Variables</li>
       <li class="current">Typedefs</li>
+ <li>Related Functions</li>
     </ul>
   </div>
 </div>
@@ -39,6 +39,14 @@
 <li>dist_t
 : <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">boost::xint::detail::random_generator&lt; T &gt;</a>
 </li>
+<li>divide_t
+: <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">boost::xint::nothrow_integer</a>
+, <a class="el" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">boost::xint::integer</a>
+, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">boost::xint::fixed_integer&lt; Bits &gt;</a>
+</li>
+<li>flag_t
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af85f2e55215d2ec3f15164fff64cddd9">boost::xint::detail::base_integer</a>
+</li>
 <li>gen_t
 : <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">boost::xint::detail::random_generator&lt; T &gt;</a>
 </li>
@@ -48,7 +56,7 @@
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_vars.html
==============================================================================
--- sandbox/xint/doc/functions_vars.html (original)
+++ sandbox/xint/doc/functions_vars.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -31,17 +30,20 @@
       <li>Functions</li>
       <li class="current">Variables</li>
       <li>Typedefs</li>
+ <li>Related Functions</li>
     </ul>
   </div>
   <div class="tabs">
     <ul>
       <li>c</li>
       <li>d</li>
+ <li>f</li>
       <li>g</li>
       <li>h</li>
       <li>i</li>
       <li>l</li>
       <li>m</li>
+ <li>q</li>
       <li>r</li>
       <li>t</li>
     </ul>
@@ -52,23 +54,41 @@
 
 <h3><a class="anchor" id="index_c">- c -</a></h3><ul>
 <li>copies
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">boost::xint::detail::data_t&lt; digit_count &gt;</a>
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_d">- d -</a></h3><ul>
 <li>digits
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>digits10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 </ul>
 
 
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>fixed_mask
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t</a>
+</li>
+<li>flag_fixedlength
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a988572f30ed3d8fc3b936eeec09724ef">boost::xint::detail::base_integer</a>
+</li>
+<li>flag_negative
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a406617f773cbc0901a60290c5bc4dbac">boost::xint::detail::base_integer</a>
+</li>
+<li>flag_readonly
+: <a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a993c7f7bfba3eec3cc5d1ed0fe7aa36c">boost::xint::detail::base_integer</a>
+</li>
+</ul>
+
+
 <h3><a class="anchor" id="index_g">- g -</a></h3><ul>
 <li>gen
 : <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">boost::xint::detail::random_generator&lt; T &gt;</a>
@@ -81,26 +101,31 @@
 
 <h3><a class="anchor" id="index_h">- h -</a></h3><ul>
 <li>has_denorm
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>has_denorm_loss
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>has_fixed_range
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a1fec38eaf8f94dbcb866e9ee495a1eef">boost::xint::strong_random_generator</a>
 </li>
 <li>has_infinity
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>has_quiet_NaN
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 <li>has_signaling_NaN
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 </ul>
@@ -108,31 +133,38 @@
 
 <h3><a class="anchor" id="index_i">- i -</a></h3><ul>
 <li>is_bounded
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>is_exact
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>is_iec559
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 <li>is_integer
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>is_modulo
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>is_signed
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>is_specialized
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 </ul>
@@ -140,36 +172,40 @@
 
 <h3><a class="anchor" id="index_l">- l -</a></h3><ul>
 <li>length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">boost::xint::detail::data_t&lt; digit_count &gt;</a>
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_m">- m -</a></h3><ul>
 <li>magnitude
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">boost::xint::detail::data_t&lt; digit_count &gt;</a>
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t</a>
 </li>
 <li>max_exponent
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>max_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>max_length
-: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">boost::xint::detail::data_t&lt; digit_count &gt;</a>
+: <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t</a>
 </li>
 <li>max_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">boost::xint::strong_random_generator</a>
 </li>
 <li>min_exponent
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>min_exponent10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>min_value
 : <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">boost::xint::strong_random_generator</a>
@@ -177,30 +213,44 @@
 </ul>
 
 
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>quotient
+: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">boost::xint::base_divide_t&lt; T &gt;</a>
+</li>
+</ul>
+
+
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
 <li>radix
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
+<li>remainder
+: <a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">boost::xint::base_divide_t&lt; T &gt;</a>
+</li>
 <li>round_style
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">std::numeric_limits&lt; boost::xint::integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_t">- t -</a></h3><ul>
 <li>tinyness_before
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>traps
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/gcd_8cpp.html (original)
+++ sandbox/xint/doc/gcd_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,7 +38,15 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail::gcd</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail::invmod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail::lcm</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
@@ -70,7 +77,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00055">55</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
+<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
 
 </div>
 </div>
@@ -85,7 +92,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00055">55</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
+<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
 
 </div>
 </div>
@@ -100,12 +107,12 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00055">55</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
+<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00056">56</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/globals.html
==============================================================================
--- sandbox/xint/doc/globals.html (original)
+++ sandbox/xint/doc/globals.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -34,6 +33,30 @@
 </div>
 <div class="contents">
 Here is a list of all file members with links to the files they belong to:<ul>
+<li>BOOST_XINT_COPY_ASSIGN_REF
+: <a class="el" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">internals.hpp</a>
+</li>
+<li>BOOST_XINT_COPYABLE_AND_MOVABLE
+: <a class="el" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">internals.hpp</a>
+</li>
+<li>BOOST_XINT_FIXED_BINARY_FN
+: <a class="el" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_FIXED_OPEQ_FN
+: <a class="el" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_FORWARD
+: <a class="el" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">internals.hpp</a>
+</li>
+<li>BOOST_XINT_MOVE
+: <a class="el" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">internals.hpp</a>
+</li>
+<li>BOOST_XINT_NFIXED
+: <a class="el" href="fixed__integer_8hpp.html#ade575df9b3b2a7c878c18039f07e450e">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_RV_REF
+: <a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">internals.hpp</a>
+</li>
 <li>ddPowerOfTwo
 : <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
 </li>
@@ -49,9 +72,12 @@
 <li>u3
 : <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">gcd.cpp</a>
 </li>
+<li>VALGRIND_COMPATIBLE
+: <a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">data_t.cpp</a>
+</li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/globals_defs.html
==============================================================================
--- sandbox/xint/doc/globals_defs.html (original)
+++ sandbox/xint/doc/globals_defs.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -34,12 +33,39 @@
 </div>
 <div class="contents">
 &nbsp;<ul>
+<li>BOOST_XINT_COPY_ASSIGN_REF
+: <a class="el" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">internals.hpp</a>
+</li>
+<li>BOOST_XINT_COPYABLE_AND_MOVABLE
+: <a class="el" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">internals.hpp</a>
+</li>
+<li>BOOST_XINT_FIXED_BINARY_FN
+: <a class="el" href="fixed__integer_8hpp.html#aa15a48d384a7c2b7be1b380b166705b6">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_FIXED_OPEQ_FN
+: <a class="el" href="fixed__integer_8hpp.html#a490464f91771afb55d8b1ec91d954825">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_FORWARD
+: <a class="el" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">internals.hpp</a>
+</li>
+<li>BOOST_XINT_MOVE
+: <a class="el" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">internals.hpp</a>
+</li>
+<li>BOOST_XINT_NFIXED
+: <a class="el" href="fixed__integer_8hpp.html#ade575df9b3b2a7c878c18039f07e450e">fixed_integer.hpp</a>
+</li>
+<li>BOOST_XINT_RV_REF
+: <a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">internals.hpp</a>
+</li>
 <li>ddPowerOfTwo
 : <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
 </li>
+<li>VALGRIND_COMPATIBLE
+: <a class="el" href="data__t_8cpp.html#a5319d73dcebfb0b95527d8edff2101c9">data_t.cpp</a>
+</li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/globals_vars.html
==============================================================================
--- sandbox/xint/doc/globals_vars.html (original)
+++ sandbox/xint/doc/globals_vars.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -48,7 +47,7 @@
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/hierarchy.html
==============================================================================
--- sandbox/xint/doc/hierarchy.html (original)
+++ sandbox/xint/doc/hierarchy.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -28,17 +27,31 @@
 </div>
 <div class="contents">
 <h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a><ul>
+<li><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a><ul>
 <li><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></li>
 </ul>
 </li>
+<li><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a><ul>
+<li><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></li>
+</ul>
+</li>
+<li><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a><ul>
+<li><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a><ul>
 <li><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></li>
 </ul>
 </li>
+<li><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></li>
-<li><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t&lt; digit_count &gt;</a></li>
+<li><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></li>
+<li><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></li>
@@ -46,6 +59,7 @@
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></li>
+<li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></li>
 <li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></li>
 <li><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></li>
@@ -53,7 +67,7 @@
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history.html
==============================================================================
--- sandbox/xint/doc/history.html (original)
+++ sandbox/xint/doc/history.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -34,19 +33,19 @@
 <ul>
 <li>Many improvements, primarily from feedback on the first Boost upload. Second version posted to the Boost File Vault.</li>
 </ul>
-<p><b>2010-04-</b>?? (updated through 10th)</p>
+<p><b>2010-04-30</b> </p>
 <ul>
-<li>Major refactoring, separating xint::integer and xint::nothrow_integer and eliminating the exception-blocking functions.</li>
-<li>Fixed problem with MSVC 9.</li>
-<li>Major overhaul of the division function.</li>
-<li>All test functions now use Boost.Test.</li>
-<li>"Fixed" several small memory leaks. They weren't real leaks, but Boost.Test couldn't tell that.</li>
+<li>Third version posted to the Boost File Vault for preliminary review.</li>
+<li>Major redesign, separating xint::integer and xint::nothrow_integer, eliminating the exception-blocking functions, and adding an xint::fixed_integer template class.</li>
+<li>Major overhaul of many of the functions, making them more efficient and fixing newly-discovered bugs.</li>
+<li>All test functions now use Boost.Test, many new tests added.</li>
 <li>All documentation moved to Doxygen format.</li>
 <li>Moved xint namespace into boost namespace.</li>
-<li>Fixed minor stream-output formatting problem (the code wasn't aware of the <code>showpos</code> stream option). </li>
+<li>"Fixed" several small memory leaks. Most of them weren't real leaks, but Boost.Test couldn't tell that.</li>
+<li>Many less-major changes. </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history_8dox.html
==============================================================================
--- sandbox/xint/doc/history_8dox.html (original)
+++ sandbox/xint/doc/history_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/history.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index.html
==============================================================================
--- sandbox/xint/doc/index.html (original)
+++ sandbox/xint/doc/index.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li class="current">Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -24,21 +23,23 @@
 What is it?</a></h2>
 <p>It's a C++ library that lets your program handle much, <em>much</em> larger integer numbers than the built-in <code>int</code>, <code>long</code>, or even <code>long long</code> types, and handle them using the same syntax that C and C++ use for the standard integer types.</p>
 <p>The maximum size of the integer is limited only by the memory available to store it. In practice that's millions of hexadecimal digits, so it's effectively infinite.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>This is not (yet) an official Boost library.</dd></dl>
 <h2><a class="anchor" id="why">
 Why would I use it?</a></h2>
 <ul>
 <li><b>Because it's completely portable.</b> It's written entirely in modern C++, with many different types of operating system, compiler, and hardware in mind. It will compile cleanly on many operating systems without any changes, automatically adapting to the most efficient native integer sizes available. </li>
 <li><b>Because it's fast.</b> Speed of execution takes a back seat to portability, so it doesn't include things like assembly-language modules to wring every last CPU cycle out of it -- but it's still pretty darn fast. </li>
-<li><b>Because it has the features you need.</b> Modular arithmetic. Cryptographically-secure prime number generation. Bit manipulation functions. Exception- or error-code-based operation. A friendly and intuitive interface. An option for thread-safe operation. Complete and carefully maintained documentation. What more could you want? </li>
+<li><b>Because it has the features you need.</b> Modular arithmetic. Fixed- or variable-length integer types. Cryptographically-secure prime number generation. Bit manipulation functions. Exception- or error-code-based operation. A friendly and intuitive interface. An option for thread-safe operation. Complete and carefully maintained documentation. What more could you want? </li>
 <li><b>Because it's open-source.</b> You can see exactly how it works. You can never be left high and dry because the company that made it goes out of business, or decides that it's not profitable to maintain it. If you find a bug that isn't fixed fast enough for you, you can fix it yourself, no waiting for someone else to get around to it. </li>
 <li><b>Because it's closed-source-friendly and commercial-friendly.</b> It's licensed under the Boost Software License 1.0 (which you can find at http://www.boost.org/LICENSE_1_0.txt), an OSI-approved open-source license that permits you to use it for pretty much anything you want, and doesn't make any anti-commercial or anti-closed-source demands.</li>
 </ul>
 <h2><a class="anchor" id="how">
 How do I use it?</a></h2>
-<p>That's the best part. If you've installed or compiled the Boost library already, all you need to do is add <code>#include &lt;<a class="el" href="xint_8hpp.html" title="This is the include-everything header.">boost/xint/xint.hpp</a>&gt;</code> at the top of your source code file, throw in a <code>using</code> line to say which type you want to use, and declare your variable as type <a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a>. Then just use it the way you'd use any integer. If you need something more advanced, take a look in <a class="el" href="namespaceboost_1_1xint.html">the reference section</a> and you just might find it.</p>
+<p>That's the best part. If you've installed or compiled the Boost library already, all you need to do is add <code>#include &lt;<a class="el" href="xint_8hpp.html" title="This is the include-everything header.">boost/xint/xint.hpp</a>&gt;</code> at the top of your source code file and declare your variable as type <code><a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a></code>. Then just use it the way you'd use any integer. If you need something more advanced, take a look in <a class="el" href="namespaceboost_1_1xint.html">the reference section</a> and you just might find it.</p>
 <p>More information on how to use it can be found on the pages listed below.</p>
 <p>Detailed Usage Information:</p>
 <ul>
+<li><a class="el" href="fixed__and__variable.html">The Different Integer Types</a></li>
 <li><a class="el" href="nan.html">The Not-a-Number Value</a></li>
 <li><a class="el" href="zero.html">Zero and "Negative Zero"</a></li>
 <li><a class="el" href="primes.html">Generating Prime Numbers</a> (with example code)</li>
@@ -53,6 +54,7 @@
 <p>Library Information:</p>
 <ul>
 <li><a class="el" href="cow.html">Copying and Argument-Passing</a></li>
+<li><a class="el" href="complexity.html">A Note on Algorithmic Complexity</a></li>
 <li><a class="el" href="testing.html">The Self-Testing Program</a></li>
 <li><a class="el" href="dependencies.html">Dependencies</a></li>
 <li><a class="el" href="rationale.html">Rationales</a></li>
@@ -64,7 +66,7 @@
 <li><a class="el" href="ex__fibonacci.html">Fibonacci Numbers</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index_8dox.html
==============================================================================
--- sandbox/xint/doc/index_8dox.html (original)
+++ sandbox/xint/doc/index_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/index.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/integer_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,7 +44,7 @@
 
 <p>Definition in file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/integer_8cpp_source.html (original)
+++ sandbox/xint/doc/integer_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,131 +36,118 @@
 <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 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</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>{
-<a name="l00025"></a>00025 std::auto_ptr&lt;integer&gt; cZero, cOne;
-<a name="l00026"></a>00026 }
-<a name="l00027"></a>00027
-<a name="l00029"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">00029</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>() {
-<a name="l00030"></a>00030 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f2678c34cdf09e8df0c38ea91347fd7">_attach_0</a>();
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00044"></a><a class="code" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">00044</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) {
-<a name="l00045"></a>00045 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(b);
+<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>boost {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>xint {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>{
+<a name="l00026"></a>00026 std::auto_ptr&lt;integer&gt; cZero, cOne;
+<a name="l00027"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">00027</a> }
+<a name="l00028"></a>00028
+<a name="l00030"></a>00030 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>() {
+<a name="l00031"></a>00031 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html#ae670e3ba7921916f7a7394c4bb9b940b">_attach_0</a>();
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00044"></a>00044 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> integer&amp; b) {
+<a name="l00045"></a>00045 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
 <a name="l00046"></a>00046 }
 <a name="l00047"></a>00047
-<a name="l00058"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acc0aea50091f653fb983373e12fc815e">00058</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b) {
-<a name="l00059"></a>00059 <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>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">exceptions::not_a_number</a>();
-<a name="l00060"></a>00060 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(b);
+<a name="l00058"></a>00058 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> nothrow_integer&amp; b) {
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (b.is_nan()) <span class="keywordflow">throw</span> exceptions::not_a_number();
+<a name="l00060"></a>00060 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
 <a name="l00061"></a>00061 }
 <a name="l00062"></a>00062
-<a name="l00084"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8">00084</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00085"></a>00085 <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="l00086"></a>00086 }
-<a name="l00087"></a>00087
-<a name="l00088"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">00088</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">integer::_make_unique</a>() {
-<a name="l00089"></a>00089 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#abdfe224ab8dae4dbd4cfdd16e6c0612f">_base_make_unique</a>();
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091
-<a name="l00096"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">00096</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00097"></a>00097 <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="l00069"></a>00069 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> fixed_integer_any&amp; b) {
+<a name="l00070"></a>00070 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(b);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00096"></a>00096 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00097"></a>00097 <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(*<span class="keyword">this</span>, str, base);
 <a name="l00098"></a>00098 }
 <a name="l00099"></a>00099
-<a name="l00104"></a><a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">00104</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00105"></a>00105 <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="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00117"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">00117</a> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
-<a name="l00118"></a>00118 <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="l00119"></a>00119 <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="l00120"></a>00120 }
-<a name="l00121"></a>00121
-<a name="l00127"></a><a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">00127</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large an integer is.">integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00128"></a>00128 <span class="keywordtype">size_t</span> bits=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(*<span class="keyword">this</span>);
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">00132</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend) {
-<a name="l00133"></a>00133 <span class="keywordflow">if</span> ((<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>() &lt; 0) == (addend.<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>() &lt; 0)
-<a name="l00134"></a>00134 &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>() &gt;= addend.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>())
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 <span class="comment">// Fast in-place add</span>
-<a name="l00137"></a>00137 <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>();
-<a name="l00138"></a>00138 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a3e0e821a38c37d4b94b61a62a9448b42">_add</a>(addend);
-<a name="l00139"></a>00139 } <span class="keywordflow">else</span> {
-<a name="l00140"></a>00140 <span class="comment">// This works for all cases</span>
-<a name="l00141"></a>00141 *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(*<span class="keyword">this</span>, addend);
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">00146</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend) {
-<a name="l00147"></a>00147 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>() &gt;= 0 &amp;&amp; subtrahend.<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>() &gt;= 0 &amp;&amp; *<span class="keyword">this</span> &gt;= subtrahend) {
-<a name="l00148"></a>00148 <span class="comment">// Fast in-place subtract</span>
-<a name="l00149"></a>00149 <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>();
-<a name="l00150"></a>00150 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a4f7e982aa22a1910dd5daf0e260c43c5">_subtract</a>(subtrahend);
-<a name="l00151"></a>00151 } <span class="keywordflow">else</span> {
-<a name="l00152"></a>00152 <span class="comment">// This works for all cases</span>
-<a name="l00153"></a>00153 *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(*<span class="keyword">this</span>, subtrahend);
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">integer::odd</a>()<span class="keyword"> const </span>{
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==1);
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00116"></a>00116 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">integer::even</a>()<span class="keyword"> const </span>{
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(0) &amp; 0x01)==0);
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00131"></a>00131 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">integer::sign</a>(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
+<a name="l00132"></a>00132 <span class="keywordflow">if</span> (!signed_zero &amp;&amp; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>()) <span class="keywordflow">return</span> 0;
+<a name="l00133"></a>00133 <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a2a6ba9a67a9167e9535d735dacbaace7">_get_negative</a>() ? -1 : 1);
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00143"></a>00143 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large *this is.">integer::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00144"></a>00144 <span class="keywordtype">size_t</span> bits=<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a29f37fcd3e14cd2b271d990edc3dbb56">_log2</a>();
+<a name="l00145"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">00145</a> <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend) {
+<a name="l00149"></a>00149 <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, addend);
+<a name="l00150"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">00150</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend) {
+<a name="l00154"></a>00154 <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, subtrahend);
+<a name="l00155"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">00155</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00156"></a>00156 }
 <a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">00158</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;c) {
-<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(c);
-<a name="l00160"></a>00160 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00158"></a>00158 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">integer::operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c) {
+<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9ee6c6d706a8dc8cdd1a16b1e65a47e2">_attach</a>(c);
+<a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">00160</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
-<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">00163</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { *<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="l00164"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">00164</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { *<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="l00165"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">00165</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00166"></a>00166
-<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">00167</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">00168</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">00169</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">00170</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00171"></a>00171
-<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">00172</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00173"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">00173</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00174"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">00174</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { *<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="l00175"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">00175</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { *<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="l00176"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">00176</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { *<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="l00177"></a>00177
-<a name="l00178"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">00178</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00179"></a>00179 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00180"></a>00180 <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>();
-<a name="l00181"></a>00181 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aea0cff03f7886f2c44747538e27ad7f1">_shift_left</a>(shift);
-<a name="l00182"></a>00182 }
-<a name="l00183"></a>00183 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00184"></a>00184 }
-<a name="l00185"></a>00185
-<a name="l00186"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">00186</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00188"></a>00188 <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>();
-<a name="l00189"></a>00189 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8236c349f72d154823d592123d94f218">_shift_right</a>(shift);
-<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_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">00194</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">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_1integer.html" title="The core integer class.">integer</a>(0));
-<a name="l00196"></a>00196 <span class="keywordflow">return</span> *cZero;
-<a name="l00197"></a>00197 }
-<a name="l00198"></a>00198
-<a name="l00199"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">00199</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">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_1integer.html" title="The core integer class.">integer</a>(1));
-<a name="l00201"></a>00201 <span class="keywordflow">return</span> *cOne;
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203
-<a name="l00204"></a>00204 } <span class="comment">// namespace xint</span>
-<a name="l00205"></a>00205 } <span class="comment">// namespace boost</span>
+<a name="l00162"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">00162</a>
+<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">00163</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">integer::operator-</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(*<span class="keyword">this</span>); }
+<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">00164</a>
+<a name="l00165"></a>00165 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00166"></a><a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">00166</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">00167</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b) { <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">detail::mod</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">00168</a>
+<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">00169</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00170"></a>00170 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>() { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">00171</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab47afee36e91b35b199b0ac3b6542ad2">_increment</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">00172</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> s=*<span class="keyword">this</span>; <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91e4b721c42445501b136a13d7ce9d32">_decrement</a>(); <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(s); }
+<a name="l00173"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">00173</a>
+<a name="l00174"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">00174</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00175"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">00175</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00176"></a>00176 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">detail::bitwise_and</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00177"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">00177</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">detail::bitwise_or</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) { <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">detail::bitwise_xor</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 integer&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00181"></a>00181 <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">detail::shift_left</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00182"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">00182</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>) {
+<a name="l00186"></a>00186 <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">detail::shift_right</a>(*<span class="keyword">this</span>, *<span class="keyword">this</span>, shift);
+<a name="l00187"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">00187</a> <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>() {
+<a name="l00191"></a>00191 <span class="keywordflow">if</span> (cZero.get()==0) {
+<a name="l00192"></a>00192 cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(0));
+<a name="l00193"></a>00193 cZero-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
+<a name="l00194"></a>00194 }
+<a name="l00195"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">00195</a> <span class="keywordflow">return</span> *cZero;
+<a name="l00196"></a>00196 }
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>() {
+<a name="l00199"></a>00199 <span class="keywordflow">if</span> (cOne.get()==0) {
+<a name="l00200"></a>00200 cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(1));
+<a name="l00201"></a>00201 cOne-&gt;<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a8e11790b0ec09eb4b74d2df00e63bf95">_set_readonly</a>();
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203 <span class="keywordflow">return</span> *cOne;
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 } <span class="comment">// namespace xint</span>
+<a name="l00207"></a>00207 } <span class="comment">// namespace boost</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/integer_8hpp.html (original)
+++ sandbox/xint/doc/integer_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,93 +44,100 @@
 </p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">boost::xint::swap</a> (integer &amp;left, integer &amp;right)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical primitives</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp196dd2a5f50860e057df961a96d84ea3"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">boost::xint::negate</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">boost::xint::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <br/></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.html#a0fff3b235a18c0b3243a1ccc01a68f23">boost::xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer::divide_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab594b314b957c668fb8d21cea175ff4">boost::xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <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#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">boost::xint::negate</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></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">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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an integer with a value of one. <br/></td></tr>
+<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">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">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>
+<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <br/></td></tr>
+<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#a0cd277cd7a80cda764f889781f0140cd">boost::xint::log2</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint::factorial</a> (size_t n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">boost::xint::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint::factorial</a> (size_t n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint::from_binary</a> (const xint::binary_t &amp;b, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a portable binary representation of a number into an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string to an integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">boost::xint::to</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficiently converts from an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">xint::integer</a> to a built-in integer type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">boost::xint::to_binary</a> (const integer &amp;n, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">boost::xint::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea">boost::xint::to_binary</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer, lowest byte first. <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#a58aa7dc532f0d8a1557c9ec8f512602e">boost::xint::from_binary</a> (const std::string &amp;str)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a binary representation of a number into an integer. <br/></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.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>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular inverse of a number in a modulus, if there is one. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint::sqrmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd">boost::xint::powmod</a> (const integer &amp;n, const integer &amp;e, const integer &amp;m, bool noMontgomery)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <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#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular inverse of a number in a modulus, if there is one. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint::sqrmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
@@ -142,34 +148,20 @@
 <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.html#a223232e2fe1af65bbba7b67a10f14f48">boost::xint::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.html#af845afe18e9b1326d630e5c0696e679d">boost::xint::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.html#ab09672bca82a7f4fbdca4443492210bc">boost::xint::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#a7749bff2e150c55649324ba9797aa6d0">boost::xint::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.html#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint::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#a66b558cce023df7b3e10ee22dfe653d0">boost::xint::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.html#ac5d5cb8db57fd0247aa4e36d9b25c492">boost::xint::operator!=</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af0e2812ac56a264cd9a86243306ec0fb">boost::xint::operator+</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">boost::xint::operator-</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">boost::xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">boost::xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0f6171689ef68ff6672e43a1e24ea494">boost::xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16aa971521ae015a62ec015f1fe56d0">boost::xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">boost::xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">boost::xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">boost::xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</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#af845afe18e9b1326d630e5c0696e679d">boost::xint::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.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint::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.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint::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.html#ab09672bca82a7f4fbdca4443492210bc">boost::xint::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#a1ace7bde7533ff9d8a3f38978e7bb046">boost::xint::operator&gt;=</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.html#a9524e5e34757cb10a146012bc4192643">boost::xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd">boost::xint::log2</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">boost::xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
 </div></td></tr>
@@ -179,13 +171,18 @@
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
 traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">boost::xint::operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, integer &amp;n)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares the core integer type. </p>
 
 <p>Definition in file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/integer_8hpp_source.html (original)
+++ sandbox/xint/doc/integer_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -41,67 +40,77 @@
 <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_INTEGER_HPP</span>
 <a name="l00020"></a>00020 <span class="preprocessor"></span>
 <a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
-<a name="l00027"></a>00027
-<a name="l00039"></a><a class="code" href="classboost_1_1xint_1_1integer.html">00039</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for the integer classes.">base_integer</a> {
-<a name="l00040"></a>00040 <span class="keyword">public</span>:
-<a name="l00041"></a>00041
-<a name="l00044"></a>00044 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>();
-<a name="l00045"></a>00045 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00046"></a>00046 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00047"></a>00047 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00049"></a>00049 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00050"></a>00050 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
-<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00052"></a>00052 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00053"></a>00053 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
-<a name="l00055"></a>00055
-<a name="l00064"></a>00064 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;c);
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00067"></a>00067 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00068"></a>00068 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00069"></a>00069 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00070"></a>00070 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>();
-<a name="l00073"></a>00073 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>();
-<a name="l00074"></a>00074 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>(<span class="keywordtype">int</span>);
-<a name="l00075"></a>00075 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>(<span class="keywordtype">int</span>);
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00078"></a>00078 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00079"></a>00079 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00080"></a>00080 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">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>;
-<a name="l00081"></a>00081 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> shift) <span class="keyword">const</span>;
-<a name="l00082"></a>00082 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00083"></a>00083 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00085"></a>00085
-<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a>();
-<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>();
-<a name="l00096"></a>00096
-<a name="l00099"></a>00099 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">odd</a>() <span class="keyword">const</span>;
-<a name="l00100"></a>00100 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">even</a>() <span class="keyword">const</span>;
-<a name="l00101"></a>00101 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>(<span class="keywordtype">bool</span> signed_zero=<span class="keyword">false</span>) <span class="keyword">const</span>;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large an integer is.">hex_digits</a>() <span class="keyword">const</span>;
-<a name="l00105"></a>00105
-<a name="l00111"></a>00111 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>();
-<a name="l00113"></a>00113 };
-<a name="l00114"></a>00114
-<a name="l00117"></a>00117 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00118"></a>00118 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00119"></a>00119 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend);
-<a name="l00120"></a>00120 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend);
-<a name="l00121"></a>00121 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; multiplicand);
-<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
-<a name="l00123"></a>00123 std::pair&lt;integer, integer&gt; <a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp;
-<a name="l00124"></a>00124 divisor);
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
+<a name="l00025"></a>00025
+<a name="l00033"></a><a class="code" href="classboost_1_1xint_1_1integer.html">00033</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a> {
+<a name="l00034"></a>00034 <span class="keyword">public</span>:
+<a name="l00035"></a>00035
+<a name="l00038"></a>00038 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>();
+<a name="l00039"></a>00039 <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00040"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">00040</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a36f03940af78fea1a821a51678a26104">integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) b) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(b); }
+<a name="l00041"></a>00041 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00042"></a>00042 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>&amp; b);
+<a name="l00043"></a>00043 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00046"></a>00046 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00048"></a>00048 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00049"></a>00049 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
+<a name="l00051"></a>00051
+<a name="l00060"></a>00060 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a81ff5a94d6895e1714e992fde407e7fa">operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c);
+<a name="l00061"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">00061</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a7092b058fd3f2450c5f6d6a0f6ae4a3c">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(c); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00062"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">00062</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#acf5998b517a994c38766d28a0d946a21">operator=</a>(<span class="keyword">const</span> T&amp; n) { <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> nn(n);
+<a name="l00063"></a>00063 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00064"></a>00064
+<a name="l00065"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">00065</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aea3d83dfa135c8833620ce96aece1743">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<a name="l00066"></a>00066 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">operator-</a>() <span class="keyword">const</span>;
+<a name="l00067"></a><a class="code" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">00067</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#afe9c68f79efd13d349b532b2077c298f">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">00068</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa6e1e4356f6eebbd65e84d8717169acb">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00071"></a>00071 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00072"></a>00072 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00073"></a>00073 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00074"></a>00074 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>();
+<a name="l00077"></a>00077 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>();
+<a name="l00078"></a>00078 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>(<span class="keywordtype">int</span>);
+<a name="l00079"></a>00079 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00082"></a>00082 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00083"></a>00083 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00084"></a>00084 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">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>;
+<a name="l00085"></a>00085 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">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>;
+<a name="l00086"></a>00086 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">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="l00087"></a>00087 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">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="l00089"></a>00089
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a>();
+<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>();
+<a name="l00100"></a>00100
+<a name="l00103"></a>00103 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1" title="Tests the lowest bit of *this to determine oddness.">odd</a>() <span class="keyword">const</span>;
+<a name="l00104"></a>00104 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb" title="Tests the lowest bit of *this to determine evenness.">even</a>() <span class="keyword">const</span>;
+<a name="l00105"></a>00105 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>(<span class="keywordtype">bool</span> signed_zero=<span class="keyword">false</span>) <span class="keyword">const</span>;
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f" title="Tells you roughly how large *this is.">hex_digits</a>() <span class="keyword">const</span>;
+<a name="l00109"></a>00109
+<a name="l00110"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">00110</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t&lt;integer&gt;</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a>;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">private</span>:
+<a name="l00113"></a>00113 <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>)
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00118"></a>00118 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00119"></a>00119 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00120"></a>00120 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; addend);
+<a name="l00121"></a>00121 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; subtrahend);
+<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; multiplicand);
+<a name="l00123"></a>00123 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
+<a name="l00124"></a>00124 <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; divisor);
 <a name="l00126"></a>00126
 <a name="l00129"></a>00129 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
 <a name="l00130"></a>00130 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; exponent);
@@ -109,11 +118,11 @@
 <a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(<span class="keywordtype">size_t</span> n);
 <a name="l00133"></a>00133 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
 <a name="l00135"></a>00135
-<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e" title="Efficiently converts from an xint::integer to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
 <a name="l00139"></a>00139 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=<span class="keyword">false</span>);
-<a name="l00140"></a>00140 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00141"></a>00141 std::string <a class="code" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00142"></a>00142 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e" title="Converts a binary representation of a number into an integer.">from_binary</a>(<span class="keyword">const</span> std::string&amp; s);
+<a name="l00140"></a>00140 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00141"></a>00141 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00142"></a>00142 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits=0);
 <a name="l00144"></a>00144
 <a name="l00147"></a>00147 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
 <a name="l00148"></a>00148 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
@@ -142,212 +151,116 @@
 <a name="l00183"></a>00183 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
 <a name="l00185"></a>00185
 <a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1);
-<a name="l00192"></a>00192 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00193"></a>00193 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00194"></a>00194 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00195"></a>00195 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00196"></a>00196 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00197"></a>00197 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; a);
-<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; a);
-<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00208"></a>00208 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00210"></a>00210
-<a name="l00213"></a>00213 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
-<a name="l00214"></a>00214 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
-<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00191"></a>00191 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00192"></a>00192 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00193"></a>00193 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00194"></a>00194 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00196"></a>00196 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00199"></a>00199 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00207"></a>00207
+<a name="l00210"></a>00210 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
+<a name="l00211"></a>00211 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00212"></a>00212 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00213"></a>00213 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00215"></a>00215
+<a name="l00217"></a>00217 <span class="comment">// Template function definitions</span>
 <a name="l00218"></a>00218
-<a name="l00220"></a>00220 <span class="comment">// Template function definitions</span>
-<a name="l00221"></a>00221
-<a name="l00234"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00234</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00235"></a>00235 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00236"></a>00236 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00237"></a>00237 {
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (n &gt;= 0) {
-<a name="l00239"></a>00239 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>) == n)
-<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>(n));
-<a name="l00241"></a>00241 <span class="keywordflow">else</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_t(n));
-<a name="l00242"></a>00242 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;T&gt;::min)()) {
-<a name="l00243"></a>00243 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
-<a name="l00244"></a>00244 <span class="comment">// what you&#39;d think it is.</span>
-<a name="l00245"></a>00245 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_t(-(n+1)));
-<a name="l00246"></a>00246 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00247"></a>00247 --(*this);
-<a name="l00248"></a>00248 } <span class="keywordflow">else</span> {
-<a name="l00249"></a>00249 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_t(-n));
-<a name="l00250"></a>00250 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a91cb2f84f30425e9158c2ac9bfcd9cb6">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252 }
-<a name="l00253"></a>00253
-<a name="l00266"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00266</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00267"></a>00267 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00268"></a>00268 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00269"></a>00269 {
-<a name="l00270"></a>00270 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">detail::digit_mask</a>) == n)
-<a name="l00271"></a>00271 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ab94f96758a658c1523291c6d10ca7dc0">_attach_1</a>(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>(n));
-<a name="l00272"></a>00272 <span class="keywordflow">else</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a00be0a0a2d19316259c54a8ced4e8451">_attach_n</a>(boost::uintmax_t(n));
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274
-<a name="l00285"></a>00285 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00286"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00286</a> T <a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e" title="Efficiently converts from an xint::integer to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
-<a name="l00287"></a>00287 <span class="keywordflow">if</span> (n &lt; (std::numeric_limits&lt;T&gt;::min)()
-<a name="l00288"></a>00288 || n &gt; (std::numeric_limits&lt;T&gt;::max)())
-<a name="l00289"></a>00289 <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">exceptions::too_big</a>(<span class="stringliteral">&quot;value out of range for requested &quot;</span>
-<a name="l00290"></a>00290 <span class="stringliteral">&quot;conversion&quot;</span>);
-<a name="l00291"></a>00291
-<a name="l00292"></a>00292 T rval=0;
-<a name="l00293"></a>00293 <span class="keywordtype">size_t</span> len=n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a7462afdf5589caa01bb1ed732f633469">_get_length</a>();
-<a name="l00294"></a>00294 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x&lt;len; ++x)
-<a name="l00295"></a>00295 rval=static_cast&lt;T&gt;((rval * <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">detail::digit_overflowbit</a>)
-<a name="l00296"></a>00296 + n.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#aad96a1fe27c2b1da6fe933acc444d98f">_get_digit</a>(len-x-1));
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>() &lt; 0) rval *= -1;
-<a name="l00298"></a>00298 <span class="keywordflow">return</span> rval;
-<a name="l00299"></a>00299 }
-<a name="l00300"></a>00300
-<a name="l00303"></a>00303 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00304"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00304</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00305"></a>00305 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00306"></a>00306 {
-<a name="l00307"></a>00307 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
-<a name="l00308"></a>00308 : (out.flags() &amp; std::ios::oct) ? 8
-<a name="l00309"></a>00309 : 10);
-<a name="l00310"></a>00310 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 <span class="keywordtype">int</span> nsign=n.<a class="code" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae" title="Tests the sign of *this.">sign</a>();
-<a name="l00313"></a>00313 <span class="keywordflow">if</span> ((out.flags() &amp; std::ios::showpos) &amp;&amp; nsign &gt;= 0) out &lt;&lt; <span class="stringliteral">&quot;+&quot;</span>;
-<a name="l00314"></a>00314
-<a name="l00315"></a>00315 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
-<a name="l00316"></a>00316 <span class="keywordflow">if</span> (nsign &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
-<a name="l00317"></a>00317
-<a name="l00318"></a>00318 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
-<a name="l00319"></a>00319 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
-<a name="l00320"></a>00320 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00321"></a>00321
-<a name="l00322"></a>00322 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n), base, upperCase);
-<a name="l00323"></a>00323 } <span class="keywordflow">else</span> {
-<a name="l00324"></a>00324 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(n, base, upperCase);
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326 <span class="keywordflow">return</span> out;
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328
-<a name="l00329"></a>00329 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00330"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00330</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00331"></a>00331 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00332"></a>00332 {
-<a name="l00333"></a>00333 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
-<a name="l00334"></a>00334 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
-<a name="l00335"></a>00335 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
-<a name="l00336"></a>00336 <span class="keywordtype">int</span> count=hex+dec+oct;
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keywordtype">size_t</span> base=<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>;
-<a name="l00339"></a>00339 <span class="keywordflow">if</span> (count==1) {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (hex) base=16;
-<a name="l00341"></a>00341 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
-<a name="l00342"></a>00342 <span class="keywordflow">else</span> base=10;
-<a name="l00343"></a>00343 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count&gt;1) base=10;
-<a name="l00344"></a>00344 <span class="comment">// else auto-base</span>
-<a name="l00345"></a>00345
-<a name="l00346"></a>00346 std::string s;
-<a name="l00347"></a>00347 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;+&#39;</span>) {
-<a name="l00348"></a>00348 in.ignore();
-<a name="l00349"></a>00349 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;-&#39;</span>) {
-<a name="l00350"></a>00350 in.ignore();
-<a name="l00351"></a>00351 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
-<a name="l00352"></a>00352 }
-<a name="l00353"></a>00353
-<a name="l00354"></a>00354 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
-<a name="l00355"></a>00355 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00356"></a>00356 in.ignore();
-<a name="l00357"></a>00357 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00358"></a>00358 <span class="keywordflow">if</span> (c==<span class="charliteral">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00359"></a>00359 in.ignore();
-<a name="l00360"></a>00360 base=16;
-<a name="l00361"></a>00361 } <span class="keywordflow">else</span> base=8;
-<a name="l00362"></a>00362 } <span class="keywordflow">else</span> base=10;
-<a name="l00363"></a>00363 }
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 <span class="keywordflow">while</span> (in) {
-<a name="l00366"></a>00366 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00367"></a>00367 <span class="keywordflow">if</span> ((base==8 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
-<a name="l00368"></a>00368 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
-<a name="l00369"></a>00369 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
-<a name="l00370"></a>00370 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</span>))))
-<a name="l00371"></a>00371 {
-<a name="l00372"></a>00372 in.ignore();
-<a name="l00373"></a>00373 s.push_back(<span class="keywordtype">char</span>(c));
-<a name="l00374"></a>00374 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00375"></a>00375 }
-<a name="l00376"></a>00376
-<a name="l00377"></a>00377 <span class="keywordflow">try</span> {
-<a name="l00378"></a>00378 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> testValue=<a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">from_string</a>(s, base);
-<a name="l00379"></a>00379 n=testValue;
-<a name="l00380"></a>00380 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00381"></a>00381 <span class="comment">// Catch invalid strings</span>
-<a name="l00382"></a>00382 in.setstate(std::ios::failbit);
-<a name="l00383"></a>00383 }
-<a name="l00384"></a>00384
-<a name="l00385"></a>00385 <span class="keywordflow">return</span> in;
-<a name="l00386"></a>00386 }
-<a name="l00388"></a>00388
-<a name="l00389"></a>00389 } <span class="comment">// namespace xint</span>
-<a name="l00390"></a>00390 } <span class="comment">// namespace boost</span>
-<a name="l00391"></a>00391
-<a name="l00392"></a><a class="code" href="namespacestd.html">00392</a> <span class="keyword">namespace </span>std {
-<a name="l00393"></a>00393 <span class="keyword">template</span>&lt;&gt;
-<a name="l00394"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00394</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
-<a name="l00395"></a>00395 <span class="keyword">public</span>:
-<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00396</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00397"></a>00397
-<a name="l00398"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00398</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00399"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00399</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00400"></a>00400
-<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00402"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00402</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00404"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00404</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00406"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00406</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00407"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00407</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00408"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00408</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00409"></a>00409
-<a name="l00410"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00410</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00411"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00411</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00412"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00412</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00413"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00413</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00414"></a>00414
-<a name="l00415"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00415</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00416"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00416</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
-<a name="l00417"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00417</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00418"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00418</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00419"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00419</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00420"></a>00420
-<a name="l00421"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00421</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00422"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00422</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00423"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00423</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00424"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00424</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00425"></a>00425
-<a name="l00426"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00426</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00427"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00427</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00428"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00428</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00429"></a>00429
-<a name="l00430"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00430</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00431"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00431</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00432"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00432</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00433"></a>00433 };
-<a name="l00434"></a>00434 } <span class="comment">// namespace std</span>
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
+<a name="l00231"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00231</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00232"></a>00232 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00233"></a>00233 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
+<a name="l00236"></a>00236 }
+<a name="l00237"></a>00237
+<a name="l00250"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00250</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00251"></a>00251 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00252"></a>00252 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00253"></a>00253 {
+<a name="l00254"></a>00254 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256
+<a name="l00267"></a>00267 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00268"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00268</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
+<a name="l00269"></a>00269 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00270"></a>00270 }
+<a name="l00271"></a>00271
+<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00275"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00275</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00276"></a>00276 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00277"></a>00277 {
+<a name="l00278"></a>00278 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00282"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00282</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00283"></a>00283 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00286"></a>00286 }
+<a name="l00288"></a>00288
+<a name="l00289"></a><a class="code" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">00289</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; right) {
+<a name="l00290"></a>00290 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
+<a name="l00291"></a>00291 }
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 } <span class="comment">// namespace xint</span>
+<a name="l00294"></a>00294 } <span class="comment">// namespace boost</span>
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keyword">namespace </span>std {
+<a name="l00297"></a>00297 <span class="keyword">template</span>&lt;&gt;
+<a name="l00298"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00298</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
+<a name="l00299"></a>00299 <span class="keyword">public</span>:
+<a name="l00300"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00300</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00301"></a>00301
+<a name="l00302"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00302</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00303"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00303</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00304"></a>00304
+<a name="l00305"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00305</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00306"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00306</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00307"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00307</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00308"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00308</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00309"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00309</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00310"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00310</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00311"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00311</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00312"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00312</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00313"></a>00313
+<a name="l00314"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00314</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00315"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00315</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00316"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00316</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00317"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00317</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00318"></a>00318
+<a name="l00319"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00319</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00320"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00320</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
+<a name="l00321"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00321</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00322"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00322</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00323"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00323</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00324"></a>00324
+<a name="l00325"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00325</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00326"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00326</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00327"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00327</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00328"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00328</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00329"></a>00329
+<a name="l00330"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00330</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00331"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00331</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00332"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00332</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00333"></a>00333
+<a name="l00334"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00334</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00335"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00335</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00336"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00336</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00337"></a>00337 };
+<a name="l00338"></a>00338 } <span class="comment">// namespace std</span>
+<a name="l00339"></a>00339
+<a name="l00340"></a>00340 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/internals_8hpp.html
==============================================================================
--- sandbox/xint/doc/internals_8hpp.html (original)
+++ sandbox/xint/doc/internals_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -33,10 +32,23 @@
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t&lt; digit_count &gt;</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the magnitude digits of an integer. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the results from a division-with-remainder call. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__integer.html">boost::xint::detail::base_integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for the integer classes. More...<br/></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all integer classes. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html">boost::xint::detail::base_variable_length_integer</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for the variable-length integer classes. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1bitqueue__t.html">boost::xint::detail::bitqueue_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used internally to reorder bits into different-sized groupings. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the magnitude digits of an integer. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1neg__t.html">boost::xint::detail::neg_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a negated temporary integer that can always share storage. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1detail_1_1temp__t.html">boost::xint::detail::temp_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a temporary integer that can always share storage. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
@@ -49,22 +61,76 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(type)&nbsp;&nbsp;&nbsp;const type&amp;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(type)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(type, value)&nbsp;&nbsp;&nbsp;value</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(value)&nbsp;&nbsp;&nbsp;value</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(type)&nbsp;&nbsp;&nbsp;<a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&lt;type&gt;</td></tr>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail::doubledigit_t</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; unsigned <br class="typebreak"/>
+char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint::binary_t</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
 &lt; std::numeric_limits<br class="typebreak"/>
 &lt; doubledigit_t &gt;::digits/2 &gt;<br class="typebreak"/>
 ::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail::digit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail::doubledigit_t</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">The variable-length data_t functions.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp80e5972139cba853c07c583d1d68268c"></a> </p>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail::add</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">boost::xint::detail::bitwise_and</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">boost::xint::detail::bitwise_or</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">boost::xint::detail::bitwise_xor</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">boost::xint::detail::clearbit</a> (base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">boost::xint::detail::compare</a> (const base_integer &amp;b1, const base_integer &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">boost::xint::detail::divide</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail::divide</a> (base_integer &amp;qtarget, base_integer &amp;rtarget, const base_integer &amp;d1, const base_integer &amp;d2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail::factorial</a> (base_integer &amp;target, size_t n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">boost::xint::detail::from_binary</a> (base_integer &amp;target, const xint::binary_t &amp;b, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">boost::xint::detail::from_string</a> (base_integer &amp;target, const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">boost::xint::detail::gcd</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">boost::xint::detail::getbit</a> (const base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">boost::xint::detail::highestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">boost::xint::detail::invmod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">boost::xint::detail::lcm</a> (base_integer &amp;target, const base_integer &amp;num1, const base_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aee0c323135ed34026523afa598e8a270">boost::xint::detail::log10_bits</a> (size_t bits)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3c6ea7edbed003bc5ed8254fd2f12ac5">boost::xint::detail::log2</a> (const T &amp;nn, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a35e711ff550651a2d9414249e9adcc60">boost::xint::detail::log2</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">boost::xint::detail::lowestbit</a> (const base_integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail::mod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail::multiply</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;by)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">boost::xint::detail::operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const base_integer &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">boost::xint::detail::operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, base_integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail::pow</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail::powmod</a> (base_integer &amp;target, const base_integer &amp;_n, const base_integer &amp;_e, const base_integer &amp;_m, bool noMontgomery)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">boost::xint::detail::setbit</a> (base_integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">boost::xint::detail::shift_left</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">boost::xint::detail::shift_right</a> (base_integer &amp;target, const base_integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail::sqr</a> (base_integer &amp;target, const base_integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail::sqrt</a> (base_integer &amp;target, const base_integer &amp;nn)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail::subtract</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6d3ab42bef0e91fcfcf74de54ca623a0">boost::xint::detail::to</a> (const base_integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">boost::xint::detail::to_binary</a> (xint::binary_t &amp;target, const base_integer &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">boost::xint::detail::to_string</a> (const base_integer &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">The data_t functions.</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp583f07902076b847c6a492abda2f342d"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">boost::xint::detail::reallocate</a> (data_t&lt;&gt; *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">boost::xint::detail::duplicate</a> (data_t&lt;&gt; *olddata, size_t extra)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5e040a2d24aaf0c1d4b85fdd0721ee8e">boost::xint::detail::duplicate</a> (data_t&lt;&gt; *olddata, data_t&lt;&gt; *data_to_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="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">boost::xint::detail::deallocate</a> (data_t&lt;&gt; *data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length, digit_t mask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail::allocate_fixed</a> (digit_t mask, size_t max_digits, size_t initial_length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail::allocate_fixed_zero</a> (digit_t mask, size_t max_digits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail::deallocate</a> (data_t *data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af233ab6ae59b3ef29d352b8d08cf772f">boost::xint::detail::duplicate</a> (data_t *olddata, data_t *data_to_copy, size_t extra=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a685a3fff60bd1083508712548203cf7b">boost::xint::detail::duplicate</a> (data_t *olddata, size_t extra=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail::reallocate</a> (data_t *olddata, size_t newsize)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a589b1fc1784e06a3aef44c86254f1a45">boost::xint::detail::zero</a> (digit_t *p, size_t size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">boost::xint::detail::zero</a> (digit_t *p, digit_t *end)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
@@ -73,26 +139,133 @@
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint::opt_thread_safe</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with the <a class="el" href="threadsafe.html">Thread Safe Operation option </a> enabled. <br/></td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail::nan_text</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the text representation of the Not-a-Number value. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const callback_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint::no_callback</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Some constants used by the library.</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpe1f42a3ea000e0468230fb7abe73e7b1"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail::bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail::digit_hibit</a> = (digit_t(1) &lt;&lt; (bits_per_digit-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail::doubledigit_hibit</a> = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail::digit_overflowbit</a> = (doubledigit_t(1) &lt;&lt; bits_per_digit)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail::digit_mask</a> = digit_t(digit_overflowbit-1)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail::digit_overflowbit</a> = (doubledigit_t(1) &lt;&lt; bits_per_digit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail::digits_in_uintmax</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail::doubledigit_hibit</a> = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1))</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the internal definitions required for all XInt types. </p>
 <p>This file will be included by the library itself when needed. </p>
 
 <p>Definition in file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a8177a6a6c68ea042f7e644d8ef7128f9"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_COPY_ASSIGN_REF" ref="a8177a6a6c68ea042f7e644d8ef7128f9" args="(type)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_COPY_ASSIGN_REF</td>
+ <td>(</td>
+ <td class="paramtype">type&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;const type&amp;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00048">48</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f5634ec80010f0f87b93320fa3419f9"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_COPYABLE_AND_MOVABLE" ref="a5f5634ec80010f0f87b93320fa3419f9" args="(type)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_COPYABLE_AND_MOVABLE</td>
+ <td>(</td>
+ <td class="paramtype">type&nbsp;</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="internals_8hpp_source.html#l00049">49</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad30e9ec163d1981dfee69c97d09ffd28"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_FORWARD" ref="ad30e9ec163d1981dfee69c97d09ffd28" args="(type, value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_FORWARD</td>
+ <td>(</td>
+ <td class="paramtype">type, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">value&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;value</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00052">52</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a73c3b02410381da656b7cb59c7ba9314"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_MOVE" ref="a73c3b02410381da656b7cb59c7ba9314" args="(value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_MOVE</td>
+ <td>(</td>
+ <td class="paramtype">value&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;value</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00051">51</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0533c283bce9e4d9468ea9b3a5ab509b"></a><!-- doxytag: member="internals.hpp::BOOST_XINT_RV_REF" ref="a0533c283bce9e4d9468ea9b3a5ab509b" args="(type)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_XINT_RV_REF</td>
+ <td>(</td>
+ <td class="paramtype">type&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;<a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&lt;type&gt;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00050">50</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/misc_8cpp.html (original)
+++ sandbox/xint/doc/misc_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,19 +42,20 @@
 <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.html#a080731f708e62fc429687bf450f36fa2">boost::xint::log2</a> (const fixed_integer_any &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#a0cd277cd7a80cda764f889781f0140cd">boost::xint::log2</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <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#a0492c49fda91b5f498074d3f812906dd">boost::xint::opt_secure_mode</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with <a class="el" href="securemode.html">Secure Mode </a> enabled. <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#ac80750e62d5ffa2484332aae4b23d379">boost::xint::opt_thread_safe</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with the <a class="el" href="threadsafe.html">Thread Safe Operation option </a> enabled. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd">boost::xint::log2</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Functions that don't fall into any other category. </p>
 
 <p>Definition in file <a class="el" href="misc_8cpp_source.html">misc.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/misc_8cpp_source.html (original)
+++ sandbox/xint/doc/misc_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <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="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <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 {
@@ -58,21 +57,18 @@
 <a name="l00047"></a>00047 <span class="preprocessor"> #endif</span>
 <a name="l00048"></a>00048 <span class="preprocessor"></span>}
 <a name="l00049"></a>00049
-<a name="l00063"></a>00063 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00064"></a>00064 <span class="keywordtype">size_t</span> r=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a> * n._get_length();
-<a name="l00065"></a>00065 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> mask=<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">detail::digit_hibit</a>, d=n._get_digit(n._get_length()-1);
-<a name="l00066"></a>00066 <span class="keywordflow">while</span> (mask!=0) {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((mask &amp; d)!=0) <span class="keywordflow">break</span>;
-<a name="l00068"></a>00068 mask&gt;&gt;=1;
-<a name="l00069"></a>00069 --r;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> r;
+<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> n._log2();
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00070"></a>00070 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> fixed_integer_any&amp; n) {
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> n._log2();
 <a name="l00072"></a>00072 }
 <a name="l00073"></a>00073
 <a name="l00074"></a>00074 } <span class="comment">// namespace xint</span>
 <a name="l00075"></a>00075 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/modular_8cpp.html (original)
+++ sandbox/xint/doc/modular_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,7 +38,14 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">boost::xint::detail::mod</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">boost::xint::detail::powmod</a> (base_integer &amp;target, const base_integer &amp;_n, const base_integer &amp;_e, const base_integer &amp;_m, bool noMontgomery)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
@@ -47,10 +53,10 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">boost::xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint::sqrmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd">boost::xint::powmod</a> (const integer &amp;n, const integer &amp;e, const integer &amp;m, bool noMontgomery)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <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#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint::sqrmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the basic modular math functions. </p>
@@ -58,7 +64,7 @@
 
 <p>Definition in file <a class="el" href="modular_8cpp_source.html">modular.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/modular_8cpp_source.html (original)
+++ sandbox/xint/doc/modular_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,68 +36,93 @@
 <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="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../boost/xint/monty.hpp&quot;</span>
 <a name="l00023"></a>00023
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
 <a name="l00026"></a>00026
-<a name="l00034"></a>00034 integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00035"></a>00035 integer r=<a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(n, m).second;
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (r.sign() &lt; 0) r+=<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(m);
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> r;
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00052"></a>00052 integer <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055
-<a name="l00068"></a>00068 integer <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00093"></a>00093 integer <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m, <span class="keywordtype">bool</span>
-<a name="l00094"></a>00094 noMontgomery)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <span class="keywordflow">if</span> (m &lt; <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
-<a name="l00097"></a>00097 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>();
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; e.odd());
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 integer answer(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
-<a name="l00104"></a>00104 <span class="comment">// m is odd.</span>
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (m.odd() &amp;&amp; !noMontgomery) {
-<a name="l00106"></a>00106 answer=<a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n) % m, <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(e), m);
-<a name="l00107"></a>00107 } <span class="keywordflow">else</span> {
-<a name="l00108"></a>00108 integer p(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n));
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
-<a name="l00111"></a>00111 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(length-1));
-<a name="l00112"></a>00112 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
-<a name="l00115"></a>00115 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(eIndex));
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
-<a name="l00118"></a>00118 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>));
-<a name="l00119"></a>00119 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
-<a name="l00120"></a>00120 <span class="keywordflow">if</span> (ee &amp; 0x01) answer=<a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(answer, p, m);
-<a name="l00121"></a>00121 p=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(p, m);
-<a name="l00122"></a>00122 ee &gt;&gt;= 1;
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 }
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 answer._set_negative(neg);
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> answer;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 } <span class="comment">// namespace xint</span>
-<a name="l00132"></a>00132 } <span class="comment">// namespace boost</span>
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">mod</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; n, <span class="keyword">const</span> base_integer&amp; m) {
+<a name="l00030"></a>00030 integer q;
+<a name="l00031"></a>00031 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">divide</a>(q, target, n, m);
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (target._get_negative()) {
+<a name="l00033"></a>00033 temp_t mm(m);
+<a name="l00034"></a>00034 mm._set_negative(<span class="keyword">false</span>);
+<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">add</a>(target, target, mm);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">powmod</a>(base_integer&amp; target, <span class="keyword">const</span> base_integer&amp; _n, <span class="keyword">const</span> base_integer&amp;
+<a name="l00040"></a>00040 _e, <span class="keyword">const</span> base_integer&amp; _m, <span class="keywordtype">bool</span> noMontgomery)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (_m._is_zero() || _m._get_negative()) <span class="keywordflow">throw</span> exceptions::invalid_modulus();
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (_e._is_zero()) {
+<a name="l00044"></a>00044 target._set_unsigned(1);
+<a name="l00045"></a>00045 <span class="keywordflow">return</span>;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 integer n(_n._to_integer()), e(_e._to_integer()), m(_m._to_integer()),
+<a name="l00049"></a>00049 answer(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; e.odd());
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
+<a name="l00053"></a>00053 <span class="comment">// m is odd.</span>
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (m.odd() &amp;&amp; !noMontgomery) {
+<a name="l00055"></a>00055 answer = <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n) % m, <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(e), m);
+<a name="l00056"></a>00056 } <span class="keywordflow">else</span> {
+<a name="l00057"></a>00057 integer p(<a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(n));
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordtype">size_t</span> length=e._get_length(), lastBitCount=0;
+<a name="l00060"></a>00060 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(length-1));
+<a name="l00061"></a>00061 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
+<a name="l00064"></a>00064 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> ee(e._get_digit(eIndex));
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
+<a name="l00067"></a>00067 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">detail::bits_per_digit</a>));
+<a name="l00068"></a>00068 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (ee &amp; 0x01) answer=<a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(answer, p, m);
+<a name="l00070"></a>00070 p=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(p, m);
+<a name="l00071"></a>00071 ee &gt;&gt;= 1;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 answer._set_negative(neg);
+<a name="l00077"></a>00077 target._attach(answer);
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 } <span class="comment">// namespace detail</span>
+<a name="l00081"></a>00081
+<a name="l00091"></a>00091 integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00092"></a>00092 integer r;
+<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00111"></a>00111 integer <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00129"></a>00129 integer <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00130"></a>00130 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132
+<a name="l00156"></a>00156 integer <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m, <span class="keywordtype">bool</span>
+<a name="l00157"></a>00157 noMontgomery)
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 integer r;
+<a name="l00160"></a>00160 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 } <span class="comment">// namespace xint</span>
+<a name="l00165"></a>00165 } <span class="comment">// namespace boost</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8cpp.html
==============================================================================
--- sandbox/xint/doc/monty_8cpp.html (original)
+++ sandbox/xint/doc/monty_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,18 +44,18 @@
 <tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Internally used functions. </p>
@@ -80,7 +79,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00125">125</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
+<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00127">127</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
 
 </div>
 </div>
@@ -96,12 +95,12 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00162">162</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
+<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00164">164</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/monty_8cpp_source.html (original)
+++ sandbox/xint/doc/monty_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <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="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <a name="l00022"></a>00022
 <a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/scoped_array.hpp&gt;</span>
 <a name="l00024"></a>00024
@@ -118,176 +117,177 @@
 <a name="l00108"></a>00108 } <span class="keywordflow">while</span> (++i &lt;= L1);
 <a name="l00109"></a>00109
 <a name="l00110"></a>00110 t &gt;&gt;= (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * L); <span class="comment">// Fast divide by r</span>
-<a name="l00111"></a>00111 <span class="keywordflow">return</span> (t &gt;= n ? t - n : t);
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keyword">namespace </span>{
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordflow">if</span> (t &gt;= n) <span class="keywordflow">return</span> t - n;
+<a name="l00113"></a>00113 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(t);
+<a name="l00114"></a>00114 }
 <a name="l00115"></a>00115
-<a name="l00116"></a>00116 <span class="comment">// cMaxK sets the balance between memory/precalculations required and the number</span>
-<a name="l00117"></a>00117 <span class="comment">// of calculations required for an exponentiation. Increasing it can only reduce</span>
-<a name="l00118"></a>00118 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
-<a name="l00119"></a>00119 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
-<a name="l00120"></a>00120 <span class="comment">// provides a good balance.</span>
-<a name="l00121"></a>00121 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK=8;
-<a name="l00122"></a>00122 <span class="keyword">typedef</span> boost::uint_t&lt;cMaxK&gt;::fast kbitdigit_t; <span class="comment">// k bits have to fit into it</span>
-<a name="l00123"></a>00123 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> std::vector&lt;integer&gt; vxint_t;
-<a name="l00125"></a><a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">00125</a> <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
-<a name="l00126"></a>00126 <span class="preprocessor"></span>
-<a name="l00127"></a>00127 <span class="comment">// The splitIntoKBitDigits function assumes that cMaxK &lt;= bits_per_digit+1,</span>
-<a name="l00128"></a>00128 <span class="comment">// it won&#39;t work properly if it isn&#39;t.</span>
-<a name="l00129"></a>00129 BOOST_STATIC_ASSERT(cMaxK &lt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>+1);
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">class </span>TUTable {
-<a name="l00132"></a>00132 <span class="keyword">public</span>:
-<a name="l00133"></a>00133 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keyword">const</span> value_t&amp; operator[](<span class="keywordtype">size_t</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[x]; }
+<a name="l00116"></a>00116 <span class="keyword">namespace </span>{
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="comment">// cMaxK sets the balance between memory/precalculations required and the number</span>
+<a name="l00119"></a>00119 <span class="comment">// of calculations required for an exponentiation. Increasing it can only reduce</span>
+<a name="l00120"></a>00120 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
+<a name="l00121"></a>00121 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
+<a name="l00122"></a>00122 <span class="comment">// provides a good balance.</span>
+<a name="l00123"></a>00123 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK=8;
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> boost::uint_t&lt;cMaxK&gt;::fast kbitdigit_t; <span class="comment">// k bits have to fit into it</span>
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> std::vector&lt;integer&gt; vxint_t;
+<a name="l00127"></a><a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">00127</a> <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>
+<a name="l00129"></a>00129 <span class="comment">// The splitIntoKBitDigits function assumes that cMaxK &lt;= bits_per_digit+1,</span>
+<a name="l00130"></a>00130 <span class="comment">// it won&#39;t work properly if it isn&#39;t.</span>
+<a name="l00131"></a>00131 BOOST_STATIC_ASSERT(cMaxK &lt;= <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>+1);
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">class </span>TUTable {
+<a name="l00134"></a>00134 <span class="keyword">public</span>:
+<a name="l00135"></a>00135 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
 <a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
-<a name="l00138"></a>00138 <span class="comment">// Construct a singleton instance on demand</span>
-<a name="l00139"></a>00139 <span class="keywordflow">if</span> (mPtr.get()==0) mPtr.reset(<span class="keyword">new</span> TUTable);
-<a name="l00140"></a>00140 <span class="keywordflow">return</span> *mPtr;
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <span class="keyword">private</span>:
-<a name="l00144"></a>00144 TUTable(): <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>(new value_t[<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK)]) {
-<a name="l00145"></a>00145 value_t *p=&amp;<a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[0], *pe=p+<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK);
-<a name="l00146"></a>00146 *p++=std::make_pair(0, 0);
-<a name="l00147"></a>00147 <span class="keywordtype">int</span> i=1;
-<a name="l00148"></a>00148 <span class="keywordflow">while</span> (p!=pe) *p++=calculateValues(i++);
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 std::pair&lt;int, int&gt; calculateValues(<span class="keywordtype">int</span> x) {
-<a name="l00152"></a>00152 <span class="keywordtype">int</span> r=0;
-<a name="l00153"></a>00153 <span class="keywordflow">while</span> (1) {
-<a name="l00154"></a>00154 <span class="keywordflow">if</span> (x &amp; 0x01) <span class="keywordflow">return</span> std::make_pair(r, x);
-<a name="l00155"></a>00155 ++r;
-<a name="l00156"></a>00156 x &gt;&gt;= 1;
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keyword">static</span> std::auto_ptr&lt;TUTable&gt; mPtr;
+<a name="l00137"></a>00137 <span class="keyword">const</span> value_t&amp; operator[](<span class="keywordtype">size_t</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[x]; }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
+<a name="l00140"></a>00140 <span class="comment">// Construct a singleton instance on demand</span>
+<a name="l00141"></a>00141 <span class="keywordflow">if</span> (mPtr.get()==0) mPtr.reset(<span class="keyword">new</span> TUTable);
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> *mPtr;
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">private</span>:
+<a name="l00146"></a>00146 TUTable(): <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>(new value_t[<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK)]) {
+<a name="l00147"></a>00147 value_t *p=&amp;<a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>[0], *pe=p+<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK);
+<a name="l00148"></a>00148 *p++=std::make_pair(0, 0);
+<a name="l00149"></a>00149 <span class="keywordtype">int</span> i=1;
+<a name="l00150"></a>00150 <span class="keywordflow">while</span> (p!=pe) *p++=calculateValues(i++);
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 std::pair&lt;int, int&gt; calculateValues(<span class="keywordtype">int</span> x) {
+<a name="l00154"></a>00154 <span class="keywordtype">int</span> r=0;
+<a name="l00155"></a>00155 <span class="keywordflow">while</span> (1) {
+<a name="l00156"></a>00156 <span class="keywordflow">if</span> (x &amp; 0x01) <span class="keywordflow">return</span> std::make_pair(r, x);
+<a name="l00157"></a>00157 ++r;
+<a name="l00158"></a>00158 x &gt;&gt;= 1;
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160 }
 <a name="l00161"></a>00161
-<a name="l00162"></a><a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">00162</a> boost::scoped_array&lt;value_t&gt; <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>;
-<a name="l00163"></a>00163 };
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 std::auto_ptr&lt;TUTable&gt; TUTable::mPtr;
+<a name="l00162"></a>00162 <span class="keyword">static</span> std::auto_ptr&lt;TUTable&gt; mPtr;
+<a name="l00163"></a>00163
+<a name="l00164"></a><a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">00164</a> boost::scoped_array&lt;value_t&gt; <a class="code" href="monty_8cpp.html#a934de4c9ba95abb023be91f96559097d">mTable</a>;
+<a name="l00165"></a>00165 };
 <a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="keywordtype">int</span> mostEfficientK(<span class="keyword">const</span> integer&amp; e) {
-<a name="l00168"></a>00168 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> k=cMaxK, kTarget=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e)-1;
-<a name="l00169"></a>00169 <span class="keywordflow">while</span> (k &gt; 1 &amp;&amp; ((k - 1) * (k &lt;&lt; ((k - 1) &lt;&lt; 1))
-<a name="l00170"></a>00170 / (<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k) - k - 1)) &gt;= kTarget)
-<a name="l00171"></a>00171 --k;
-<a name="l00172"></a>00172 <span class="keywordflow">return</span> int(k);
-<a name="l00173"></a>00173 }
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175 vxint_t precalculateOddPowersOfAa(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp;
-<a name="l00176"></a>00176 r, <span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> k)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 integer aa=a*r%n, aSquared=a*a%n;
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 vxint_t rval;
-<a name="l00181"></a>00181 rval.reserve(<span class="keywordtype">size_t</span>(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)));
-<a name="l00182"></a>00182 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
-<a name="l00183"></a>00183 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="keywordflow">for</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> i=3, ie=(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)); i&lt;ie; i+=2) {
-<a name="l00186"></a>00186 aa=aa*aSquared%n;
-<a name="l00187"></a>00187 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
-<a name="l00188"></a>00188 rval.push_back(aa); <span class="comment">// Odd power</span>
-<a name="l00189"></a>00189 }
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keywordflow">return</span> rval;
-<a name="l00192"></a>00192 }
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 vkbitdigit_t splitIntoKBitDigits(<span class="keyword">const</span> integer&amp; e, <span class="keywordtype">size_t</span> k) {
-<a name="l00195"></a>00195 <span class="keywordtype">size_t</span> eBits=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 vkbitdigit_t rval;
-<a name="l00198"></a>00198 rval.reserve(eDigits);
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> hopper=0, mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1)&lt;&lt;k)-1;
-<a name="l00201"></a>00201 <span class="keywordflow">while</span> (eDigits-- &gt; 0) {
-<a name="l00202"></a>00202 <span class="keywordflow">if</span> (bitsInHopper &lt; k &amp;&amp; i &lt; e._get_length()) {
-<a name="l00203"></a>00203 <span class="comment">// Add more bits to the hopper</span>
-<a name="l00204"></a>00204 hopper = hopper | (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(e._get_digit(i++)) &lt;&lt; bitsInHopper);
-<a name="l00205"></a>00205 bitsInHopper += <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00206"></a>00206 }
-<a name="l00207"></a>00207
-<a name="l00208"></a>00208 <span class="comment">// Grab k bits off the bottom</span>
-<a name="l00209"></a>00209 <span class="keywordflow">if</span> (bitsInHopper &gt; 0) {
-<a name="l00210"></a>00210 rval.push_back(kbitdigit_t(hopper &amp; mask));
-<a name="l00211"></a>00211 hopper &gt;&gt;= k;
-<a name="l00212"></a>00212 bitsInHopper-=k;
-<a name="l00213"></a>00213 } <span class="keywordflow">else</span> {
-<a name="l00214"></a>00214 rval.push_back(0);
-<a name="l00215"></a>00215 }
-<a name="l00216"></a>00216 }
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218 <span class="keywordflow">return</span> rval;
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 } <span class="comment">// namespace</span>
+<a name="l00167"></a>00167 std::auto_ptr&lt;TUTable&gt; TUTable::mPtr;
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="keywordtype">int</span> mostEfficientK(<span class="keyword">const</span> integer&amp; e) {
+<a name="l00170"></a>00170 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> k=cMaxK, kTarget=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e)-1;
+<a name="l00171"></a>00171 <span class="keywordflow">while</span> (k &gt; 1 &amp;&amp; ((k - 1) * (k &lt;&lt; ((k - 1) &lt;&lt; 1))
+<a name="l00172"></a>00172 / (<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k) - k - 1)) &gt;= kTarget)
+<a name="l00173"></a>00173 --k;
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> int(k);
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 vxint_t precalculateOddPowersOfAa(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp;
+<a name="l00178"></a>00178 r, <span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> k)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 integer aa=a*r%n, aSquared=a*a%n;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 vxint_t rval;
+<a name="l00183"></a>00183 rval.reserve(<span class="keywordtype">size_t</span>(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)));
+<a name="l00184"></a>00184 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
+<a name="l00185"></a>00185 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keywordflow">for</span> (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> i=3, ie=(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)); i&lt;ie; i+=2) {
+<a name="l00188"></a>00188 aa=aa*aSquared%n;
+<a name="l00189"></a>00189 rval.push_back(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
+<a name="l00190"></a>00190 rval.push_back(aa); <span class="comment">// Odd power</span>
+<a name="l00191"></a>00191 }
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> rval;
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 vkbitdigit_t splitIntoKBitDigits(<span class="keyword">const</span> integer&amp; e, <span class="keywordtype">size_t</span> k) {
+<a name="l00197"></a>00197 <span class="keywordtype">size_t</span> eBits=<a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 vkbitdigit_t rval;
+<a name="l00200"></a>00200 rval.reserve(eDigits);
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a> hopper=0, mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(1)&lt;&lt;k)-1;
+<a name="l00203"></a>00203 <span class="keywordflow">while</span> (eDigits-- &gt; 0) {
+<a name="l00204"></a>00204 <span class="keywordflow">if</span> (bitsInHopper &lt; k &amp;&amp; i &lt; e._get_length()) {
+<a name="l00205"></a>00205 <span class="comment">// Add more bits to the hopper</span>
+<a name="l00206"></a>00206 hopper = hopper | (<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">doubledigit_t</a>(e._get_digit(i++)) &lt;&lt; bitsInHopper);
+<a name="l00207"></a>00207 bitsInHopper += <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="comment">// Grab k bits off the bottom</span>
+<a name="l00211"></a>00211 <span class="keywordflow">if</span> (bitsInHopper &gt; 0) {
+<a name="l00212"></a>00212 rval.push_back(kbitdigit_t(hopper &amp; mask));
+<a name="l00213"></a>00213 hopper &gt;&gt;= k;
+<a name="l00214"></a>00214 bitsInHopper-=k;
+<a name="l00215"></a>00215 } <span class="keywordflow">else</span> {
+<a name="l00216"></a>00216 rval.push_back(0);
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="keywordflow">return</span> rval;
+<a name="l00221"></a>00221 }
 <a name="l00222"></a>00222
-<a name="l00226"></a>00226 integer <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; n)
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 <span class="comment">// 0 &lt;= a &lt; n, n is odd</span>
-<a name="l00229"></a>00229 <span class="comment">// Returns a^e mod n</span>
-<a name="l00230"></a>00230
-<a name="l00231"></a>00231 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
+<a name="l00223"></a>00223 } <span class="comment">// namespace</span>
+<a name="l00224"></a>00224
+<a name="l00228"></a>00228 integer <a class="code" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; n)
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 <span class="comment">// 0 &lt;= a &lt; n, n is odd</span>
+<a name="l00231"></a>00231 <span class="comment">// Returns a^e mod n</span>
 <a name="l00232"></a>00232
-<a name="l00233"></a>00233 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>();
-<a name="l00234"></a>00234 <span class="keywordflow">if</span> (n.even()) <span class="keywordflow">throw</span> exceptions::invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
-<a name="l00235"></a>00235 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 <span class="comment">// Precalculate some values</span>
-<a name="l00238"></a>00238 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
-<a name="l00239"></a>00239 <span class="keyword">const</span> integer r(<a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(n));
-<a name="l00240"></a>00240 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> nPrime0(<a class="code" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(n));
-<a name="l00241"></a>00241 <span class="keyword">const</span> vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243 <span class="comment">// Slice the exponent (e) up into k-bit digits</span>
-<a name="l00244"></a>00244 vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 integer pp;
+<a name="l00233"></a>00233 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>();
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (n.even()) <span class="keywordflow">throw</span> exceptions::invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
+<a name="l00237"></a>00237 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="comment">// Precalculate some values</span>
+<a name="l00240"></a>00240 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
+<a name="l00241"></a>00241 <span class="keyword">const</span> integer r(<a class="code" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(n));
+<a name="l00242"></a>00242 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> nPrime0(<a class="code" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(n));
+<a name="l00243"></a>00243 <span class="keyword">const</span> vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="comment">// Slice the exponent (e) up into k-bit digits</span>
+<a name="l00246"></a>00246 vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
 <a name="l00247"></a>00247
-<a name="l00248"></a>00248 kbitdigit_t i=eDigits.back();
-<a name="l00249"></a>00249 eDigits.pop_back();
-<a name="l00250"></a>00250 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00251"></a>00251 pp=r%n;
-<a name="l00252"></a>00252 } <span class="keywordflow">else</span> {
-<a name="l00253"></a>00253 std::pair&lt;int, int&gt; tu=tuTable[i];
-<a name="l00254"></a>00254 pp=oddPowersOfAa[tu.second];
-<a name="l00255"></a>00255 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00256"></a>00256 }
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keywordflow">while</span> (!eDigits.empty()) {
-<a name="l00259"></a>00259 i=eDigits.back();
-<a name="l00260"></a>00260 eDigits.pop_back();
-<a name="l00261"></a>00261
-<a name="l00262"></a>00262 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00263"></a>00263 <span class="keywordtype">int</span> t=int(k);
-<a name="l00264"></a>00264 <span class="keywordflow">while</span> (t-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00265"></a>00265 } <span class="keywordflow">else</span> {
-<a name="l00266"></a>00266 std::pair&lt;int, int&gt; tu=tuTable[i];
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268 <span class="keywordtype">size_t</span> s=k-tu.first;
-<a name="l00269"></a>00269 <span class="keywordflow">while</span> (s-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271 pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, oddPowersOfAa[tu.second], n, nPrime0);
+<a name="l00248"></a>00248 integer pp;
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250 kbitdigit_t i=eDigits.back();
+<a name="l00251"></a>00251 eDigits.pop_back();
+<a name="l00252"></a>00252 <span class="keywordflow">if</span> (i == 0) {
+<a name="l00253"></a>00253 pp=r%n;
+<a name="l00254"></a>00254 } <span class="keywordflow">else</span> {
+<a name="l00255"></a>00255 std::pair&lt;int, int&gt; tu=tuTable[i];
+<a name="l00256"></a>00256 pp=oddPowersOfAa[tu.second];
+<a name="l00257"></a>00257 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260 <span class="keywordflow">while</span> (!eDigits.empty()) {
+<a name="l00261"></a>00261 i=eDigits.back();
+<a name="l00262"></a>00262 eDigits.pop_back();
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264 <span class="keywordflow">if</span> (i == 0) {
+<a name="l00265"></a>00265 <span class="keywordtype">int</span> t=int(k);
+<a name="l00266"></a>00266 <span class="keywordflow">while</span> (t-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
+<a name="l00267"></a>00267 } <span class="keywordflow">else</span> {
+<a name="l00268"></a>00268 std::pair&lt;int, int&gt; tu=tuTable[i];
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="keywordtype">size_t</span> s=k-tu.first;
+<a name="l00271"></a>00271 <span class="keywordflow">while</span> (s-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
 <a name="l00272"></a>00272
-<a name="l00273"></a>00273 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276
-<a name="l00277"></a>00277 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), n, nPrime0);
-<a name="l00278"></a>00278 }
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280 } <span class="comment">// namespace xint</span>
-<a name="l00281"></a>00281 } <span class="comment">// namespace boost</span>
+<a name="l00273"></a>00273 pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, oddPowersOfAa[tu.second], n, nPrime0);
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277 }
+<a name="l00278"></a>00278 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(pp, <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>(), n, nPrime0);
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 } <span class="comment">// namespace xint</span>
+<a name="l00282"></a>00282 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8hpp.html
==============================================================================
--- sandbox/xint/doc/monty_8hpp.html (original)
+++ sandbox/xint/doc/monty_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,18 +42,18 @@
 <tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint::inverse0</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint::montgomeryR</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Internally-used functions. </p>
@@ -62,7 +61,7 @@
 
 <p>Definition in file <a class="el" href="monty_8hpp_source.html">monty.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/monty_8hpp_source.html (original)
+++ sandbox/xint/doc/monty_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -56,7 +55,7 @@
 <a name="l00040"></a>00040
 <a name="l00041"></a>00041 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_HPP</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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost.html
==============================================================================
--- sandbox/xint/doc/namespaceboost.html (original)
+++ sandbox/xint/doc/namespaceboost.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -34,10 +33,8 @@
 <br/></td></tr>
 </p>
 </table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Move to <a class="el" href="random_8cpp.html" title="Contains the definitions for the random number functions.">random.cpp</a>? </dd></dl>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost_1_1xint.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint.html (original)
+++ sandbox/xint/doc/namespaceboost_1_1xint.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -44,6 +43,12 @@
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the results from a division-with-remainder call. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fixed-size integer type. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The core integer class. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a></td></tr>
@@ -51,315 +56,899 @@
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for cryptographically-secure random numbers. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; unsigned <br class="typebreak"/>
+char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">set_random_generator</a> (T *gen)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">swap</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;right)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">swap</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;right)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a> (<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;left, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;right)</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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ace023b79b24b4df655c1d86be77df99a">abs</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">abs</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a74c947ce6c6d25b54c25b5c5427a9c62">add</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">add</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4711eee4f69e1a7cc5c5393bd4d44361">divide</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;divisor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">divide</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;divisor)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;divisor)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;::divide_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a95d8f6a792d953e6f1b3b1d1b43a05dc">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;divisor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">integer::divide_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab594b314b957c668fb8d21cea175ff4">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;d2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">nothrow_integer::divide_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;d2)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6a548d944523cfc7c22823014bb6dcb6">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;by)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;by)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;by)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ade2e4d02cf0aa413f7e6f4d943ca341d">negate</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">negate</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a218c0f1ddaaa8c978b3f84219ef712d2">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</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.html#ac00836bdc530b3eaf0a9b9f2e208273b">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">setbit</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9ac26e06d3665264feab3e02677a552">bitwise_and</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#abd4c2a471ad1e603ce5ef032071dd2ef">bitwise_and</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">bitwise_and</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a47b675e2d348c9c53d4423e6c5eee354">bitwise_or</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1221efa42739f309024e1715adc58917">bitwise_or</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec">bitwise_or</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9ef262badd4547baacbf46206eb4a880">bitwise_xor</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab4996f013ac222b53bea0b46ff95e1df">bitwise_xor</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1">bitwise_xor</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41bef4baff8a6b4928fc9699d434a2bf">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6b82b4f0911b258e82b9c11b4413c8bf">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a090f7c7d819b3c1a0f7cc0bd69dc4878">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a125277404ae139bee70547f2d51d3e0e">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a058c69285b794392f3e5853355d0fa3e">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t valueIfZero)</td></tr>
+<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">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &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#aec002c076eff13d0382c5d2cd6de1d60">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6d7bfe0c5806902b377df0934f027f38">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t valueIfZero)</td></tr>
+<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">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &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#a783e728f8221cd424d6f7f5d5f67ec40">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf72216ae1986d06d4f39c27cada42d6">setbit</a> (<a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac76235b31dcadded8193443b78743948">setbit</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">setbit</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to one. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a24944978923b67b2547c0f7245e4d7b9">shift</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, int byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad62ca08dc3d7600eee872dc5a95c338c">shift</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, int byBits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">shift</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b096bd6583148b84b5f8020dfad4865">shift_left</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">shift_left</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t byBits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">shift_left</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa01c60a4f969a7df6368f5c82695824c">shift_right</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a295196e5fa8931578d27468cb5154f07">shift_right</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t byBits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">shift_right</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &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#a125277404ae139bee70547f2d51d3e0e">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac76235b31dcadded8193443b78743948">setbit</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6b82b4f0911b258e82b9c11b4413c8bf">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a09477129544d4bdb08ddd63644683f5c">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &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">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#abd4c2a471ad1e603ce5ef032071dd2ef">bitwise_and</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1221efa42739f309024e1715adc58917">bitwise_or</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab4996f013ac222b53bea0b46ff95e1df">bitwise_xor</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad62ca08dc3d7600eee872dc5a95c338c">shift</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, int byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">shift_left</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a295196e5fa8931578d27468cb5154f07">shift_right</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t byBits)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">compare</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b2d5e551626a5e2deac80e325c82ab2">compare</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">compare</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b2, bool ignoresign)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab04ceb2184645859dcbbc00b7b9ff4ca">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3ae2716e04bebbb74be08845db7132e2">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4e4bf24a99b565005d75630de66c5316">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8782636245af4772735f6e7510a7d3da">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <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#a206fbae1c02ec96cb274aae1ad611da7">log2</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &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#a080731f708e62fc429687bf450f36fa2">log2</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &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#a0cd277cd7a80cda764f889781f0140cd">log2</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <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#a0492c49fda91b5f498074d3f812906dd">opt_secure_mode</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with <a class="el" href="securemode.html">Secure Mode </a> enabled. <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#ac80750e62d5ffa2484332aae4b23d379">opt_thread_safe</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether the library was compiled with the <a class="el" href="threadsafe.html">Thread Safe Operation option </a> enabled. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd">log2</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">compare</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3ae2716e04bebbb74be08845db7132e2">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8782636245af4772735f6e7510a7d3da">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">log2</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">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>
+<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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad1ffadda01cf8e0b230178a9325d96dc">operator!</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a43189615a1bfb4904c969efe846cefc6">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af0e2812ac56a264cd9a86243306ec0fb">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0f6171689ef68ff6672e43a1e24ea494">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16aa971521ae015a62ec015f1fe56d0">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9524e5e34757cb10a146012bc4192643">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">factorial</a> (size_t n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a63ac6898cbfa81d7de658e359fdfbe36">fixed_factorial</a> (size_t n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">fixed_pow2</a> (size_t e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a> (size_t n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a> (size_t e)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae92b86a29007f48749f17d54f36f469a">pow</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">pow</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">pow2</a> (size_t e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7516b17b5c54a012c9dbdc9a45e2142b">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
 <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.html#ac0454fdc47e70a493c7bf5d92dda33d4">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">fixed_from_binary</a> (const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> &amp;b, size_t bits)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5fed365142e2728924d9fca3396c0efe">fixed_from_string</a> (const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">from_binary</a> (const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> &amp;b, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a portable binary representation of a number into an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e">from_binary</a> (const std::string &amp;str)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a binary representation of a number into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer, lowest byte first. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string to an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a> (const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> &amp;b, size_t bits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab6045aa842481c5175a2d2afbe018ff1">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">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">to</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">to</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficiently converts from an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">xint::integer</a> to a built-in integer type. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">to</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits, typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2691e17588d7a0bb6614d5bdeb66cd4c">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac6b8b0fa807a6a216314af2b4bcca45d">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t bits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a185dd459850bfd588a4a9b3c67e8c09c">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">fromMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">inverse0</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">montgomeryMultiplyMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">montgomeryPowerMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">montgomeryR</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">toMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0ae43d82587191d69d4f0b44226fc12f">invmod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">invmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">invmod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular inverse of a number in a modulus, if there is one. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a30c0cd9ad317c1a373cdc059b6f81cb9">mod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;modBy)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">mod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6dd657413c395d346e59b282aa6138d8">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;by, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3deaa6f8a44d454129bb06691a6035c7">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;by, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;by, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">sqrmod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8f97bd640a2e3a45313fd1893dc854e3">powmod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;e, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;m, bool noMontgomery)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">powmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m, bool noMontgomery)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd">powmod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m, bool noMontgomery)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af91fe435810928b98d6e2b36ea4c3b53">mod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3deaa6f8a44d454129bb06691a6035c7">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;by, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">sqrmod</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;m)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae64aa02c6217ea9f53f25d4f44ddddd1">sqrmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa0d4bbcf5391accad798da207180894e">powmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m, bool noMontgomery)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a02c28345b397cb1508bad8d2bd36ca53">invmod</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;m)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">inverse0</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">montgomeryR</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">toMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">fromMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">montgomeryMultiplyMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">montgomeryPowerMod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td 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"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a> (size_t e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;e)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a> (size_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">pow2</a> (size_t e)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">pow</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;e)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">factorial</a> (size_t n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
-<tr><td 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>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">sqrmod</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;by)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;divisor)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>, <br class="typebreak"/>
-<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">abs</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">negate</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">add</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;by)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">divide</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;divisor)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0fff3b235a18c0b3243a1ccc01a68f23">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;d2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
+<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">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad85d78b5be317ed9a3cfa512953fa800">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0f6171689ef68ff6672e43a1e24ea494">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16aa971521ae015a62ec015f1fe56d0">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad6104aaba26d6b8d801cce276f154fe8">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a40319361b76e6c7fea92867ea76695c2">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1ecc233f5b5f1fc24a7aa9bab3868c2c">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac04d99142bc67642325ac524a8523f63">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af6fd110351f7aebd589bd482eab3696a">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9524e5e34757cb10a146012bc4192643">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n2)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
 </div></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
 traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
+traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; &amp;n)</td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>All the types and functions of the library are within this namespace. </p>
 <hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aae3128529370506165793f2771834e58"></a><!-- doxytag: member="boost::xint::binary_t" ref="aae3128529370506165793f2771834e58" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef std::vector&lt;unsigned char&gt; <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint::binary_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The format for the binary representations of integers. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">xint::to_binary</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">xint::from_binary</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00073">73</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a48deb76c9c428a4b3a50177b1b0cb547"></a><!-- doxytag: member="boost::xint::callback_t" ref="a48deb76c9c428a4b3a50177b1b0cb547" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">typedef boost::function&lt;bool ()&gt; <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td>
+ <td class="memname">typedef boost::function&lt;bool ()&gt; <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>A callback function takes no parameters and returns a bool. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00063">63</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ace023b79b24b4df655c1d86be77df99a"></a><!-- doxytag: member="boost::xint::abs" ref="ace023b79b24b4df655c1d86be77df99a" args="(const fixed_integer&lt; Bits &gt; &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::abs </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Returns the absolute value of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00513">513</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a19a0491b2825f010e9dd66ca50ab5672"></a><!-- doxytag: member="boost::xint::abs" ref="a19a0491b2825f010e9dd66ca50ab5672" args="(const integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::abs </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the absolute value of an integer. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0e114c276fc9affcc068dd5f0fbd9ff9"></a><!-- doxytag: member="boost::xint::abs" ref="a0e114c276fc9affcc068dd5f0fbd9ff9" args="(const nothrow_integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::abs </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Returns the absolute value of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="a74c947ce6c6d25b54c25b5c5427a9c62"></a><!-- doxytag: member="boost::xint::add" ref="a74c947ce6c6d25b54c25b5c5427a9c62" args="(const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::add </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the sum of two integers. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00531">531</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f82fa6b23e9af01292440248b89210d"></a><!-- doxytag: member="boost::xint::add" ref="a5f82fa6b23e9af01292440248b89210d" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::add </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Calculate the sum of two integers. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7b7903cb879b60d0d5e3403b3c6a1cdd"></a><!-- doxytag: member="boost::xint::add" ref="a7b7903cb879b60d0d5e3403b3c6a1cdd" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::add </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the sum of two integers. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="ac9ac26e06d3665264feab3e02677a552"></a><!-- doxytag: member="boost::xint::bitwise_and" ref="ac9ac26e06d3665264feab3e02677a552" args="(const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::bitwise_and </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Combine two integers using a bitwise <code>AND</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in both parameters turned on. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00684">684</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abd4c2a471ad1e603ce5ef032071dd2ef"></a><!-- doxytag: member="boost::xint::bitwise_and" ref="abd4c2a471ad1e603ce5ef032071dd2ef" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_and </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Combine two integers using a bitwise <code>AND</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in both parameters turned on. </dd></dl>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="ab828c0be1559b60537b959ef75092fb2"></a><!-- doxytag: member="boost::xint::bitwise_and" ref="ab828c0be1559b60537b959ef75092fb2" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_and </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Combine two integers using a bitwise <code>AND</code> operation. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in both parameters turned on. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a47b675e2d348c9c53d4423e6c5eee354"></a><!-- doxytag: member="boost::xint::bitwise_or" ref="a47b675e2d348c9c53d4423e6c5eee354" args="(const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::bitwise_or </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Combine two integers using a bitwise <code>OR</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter turned on. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00694">694</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1221efa42739f309024e1715adc58917"></a><!-- doxytag: member="boost::xint::bitwise_or" ref="a1221efa42739f309024e1715adc58917" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_or </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Combine two integers using a bitwise <code>OR</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter turned on. </dd></dl>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="ab38ce0764a4b6433e11e30efa2175fec"></a><!-- doxytag: member="boost::xint::bitwise_or" ref="ab38ce0764a4b6433e11e30efa2175fec" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_or </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>A callback function takes no parameters and returns a bool. </p>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a> </dd>
-<dd>
-<a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00134">134</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Combine two integers using a bitwise <code>OR</code> operation. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter turned on. </dd></dl>
 
 </div>
 </div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a19a0491b2825f010e9dd66ca50ab5672"></a><!-- doxytag: member="boost::xint::abs" ref="a19a0491b2825f010e9dd66ca50ab5672" args="(const integer &amp;n)" -->
+<a class="anchor" id="a9ef262badd4547baacbf46206eb4a880"></a><!-- doxytag: member="boost::xint::bitwise_xor" ref="a9ef262badd4547baacbf46206eb4a880" args="(const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::abs </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::bitwise_xor </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
           <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Returns the absolute value of an integer. </p>
+<p>Combine two integers using a bitwise <code>XOR</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00704">704</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a0e114c276fc9affcc068dd5f0fbd9ff9"></a><!-- doxytag: member="boost::xint::abs" ref="a0e114c276fc9affcc068dd5f0fbd9ff9" args="(const nothrow_integer &amp;n)" -->
+<a class="anchor" id="ab4996f013ac222b53bea0b46ff95e1df"></a><!-- doxytag: member="boost::xint::bitwise_xor" ref="ab4996f013ac222b53bea0b46ff95e1df" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::abs </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_xor </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Returns the absolute value of an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Combine two integers using a bitwise <code>XOR</code> operation. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
  </p>
 
 </div>
 </div>
-<a class="anchor" id="a5f82fa6b23e9af01292440248b89210d"></a><!-- doxytag: member="boost::xint::add" ref="a5f82fa6b23e9af01292440248b89210d" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<a class="anchor" id="a6afd5af4550b698f6a7065f457fcb0a1"></a><!-- doxytag: member="boost::xint::bitwise_xor" ref="a6afd5af4550b698f6a7065f457fcb0a1" args="(const integer &amp;n1, const integer &amp;n2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::add </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_xor </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>n1</em>, </td>
@@ -379,32 +968,78 @@
 </div>
 <div class="memdoc">
 
-<p>Calculate the sum of two integers. </p>
+<p>Combine two integers using a bitwise <code>XOR</code> operation. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="a7b7903cb879b60d0d5e3403b3c6a1cdd"></a><!-- doxytag: member="boost::xint::add" ref="a7b7903cb879b60d0d5e3403b3c6a1cdd" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<a class="anchor" id="a41bef4baff8a6b4928fc9699d434a2bf"></a><!-- doxytag: member="boost::xint::clearbit" ref="a41bef4baff8a6b4928fc9699d434a2bf" args="(fixed_integer&lt; Bits &gt; &amp;n, size_t bit)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::add </td>
+ <td class="memname">void boost::xint::clearbit </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramtype">fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Sets a specific bit in an integer to zero. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00666">666</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b82b4f0911b258e82b9c11b4413c8bf"></a><!-- doxytag: member="boost::xint::clearbit" ref="a6b82b4f0911b258e82b9c11b4413c8bf" args="(nothrow_integer &amp;n, size_t bit)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::clearbit </td>
+ <td>(</td>
+ <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -414,32 +1049,82 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the sum of two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Sets a specific bit in an integer to zero. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
  </p>
 
 </div>
 </div>
-<a class="anchor" id="abd4c2a471ad1e603ce5ef032071dd2ef"></a><!-- doxytag: member="boost::xint::bitwise_and" ref="abd4c2a471ad1e603ce5ef032071dd2ef" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<a class="anchor" id="a96d452df71ac6799a7041647b4b106df"></a><!-- doxytag: member="boost::xint::clearbit" ref="a96d452df71ac6799a7041647b4b106df" args="(integer &amp;n, size_t bit)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_and </td>
+ <td class="memname">void boost::xint::clearbit </td>
+ <td>(</td>
+ <td class="paramtype">integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sets a specific bit in an integer to zero. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2745c08384519957ceaf26c3e421d485"></a><!-- doxytag: member="boost::xint::compare" ref="a2745c08384519957ceaf26c3e421d485" args="(const nothrow_integer &amp;b1, const nothrow_integer &amp;b2, bool ignoresign)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int boost::xint::compare </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramname"> <em>b1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>b2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -449,32 +1134,89 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Combine two integers using a bitwise <code>AND</code> operation. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Compare two integer objects. <ul>
+<li>Complexity: O(n) at worst</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b1,b2</em>&nbsp;</td><td>The integers to compare. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in both parameters turned on. </dd></dl>
- </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>. </dd></dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Returns 0 instead of throwing. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ab828c0be1559b60537b959ef75092fb2"></a><!-- doxytag: member="boost::xint::bitwise_and" ref="ab828c0be1559b60537b959ef75092fb2" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<a class="anchor" id="a1b2d5e551626a5e2deac80e325c82ab2"></a><!-- doxytag: member="boost::xint::compare" ref="a1b2d5e551626a5e2deac80e325c82ab2" args="(const fixed_integer_any &amp;b1, const fixed_integer_any &amp;b2, bool ignoresign)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_and </td>
+ <td class="memname">int boost::xint::compare </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>b1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>b2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Compare two <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> objects. </p>
+<ul>
+<li>Complexity: O(n) at worst</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b1,b2</em>&nbsp;</td><td>The integers to compare. They can be the same size or different sizes. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a23f712f01d6589687d2984b1c5efea8b"></a><!-- doxytag: member="boost::xint::compare" ref="a23f712f01d6589687d2984b1c5efea8b" args="(const integer &amp;b1, const integer &amp;b2, bool ignoresign)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int boost::xint::compare </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramname"> <em>b1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>b2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -485,67 +1227,84 @@
 </div>
 <div class="memdoc">
 
-<p>Combine two integers using a bitwise <code>AND</code> operation. </p>
+<p>Compare two integer objects. </p>
+<ul>
+<li>Complexity: O(n) at worst</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b1,b2</em>&nbsp;</td><td>The integers to compare. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in both parameters turned on. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="a1221efa42739f309024e1715adc58917"></a><!-- doxytag: member="boost::xint::bitwise_or" ref="a1221efa42739f309024e1715adc58917" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<a class="anchor" id="a4711eee4f69e1a7cc5c5393bd4d44361"></a><!-- doxytag: member="boost::xint::divide" ref="a4711eee4f69e1a7cc5c5393bd4d44361" args="(const fixed_integer&lt; Bits &gt; &amp;dividend, const fixed_integer&lt; Bits &gt; &amp;divisor)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_or </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::divide </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>dividend</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Combine two integers using a bitwise <code>OR</code> operation. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter turned on. </dd></dl>
  </p>
 
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00561">561</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="ab38ce0764a4b6433e11e30efa2175fec"></a><!-- doxytag: member="boost::xint::bitwise_or" ref="ab38ce0764a4b6433e11e30efa2175fec" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<a class="anchor" id="a4892543bb8ccfa8acb188a63a3d4723b"></a><!-- doxytag: member="boost::xint::divide" ref="a4892543bb8ccfa8acb188a63a3d4723b" args="(const integer &amp;dividend, const integer &amp;divisor)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_or </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::divide </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramname"> <em>dividend</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -556,32 +1315,41 @@
 </div>
 <div class="memdoc">
 
-<p>Combine two integers using a bitwise <code>OR</code> operation. </p>
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter turned on. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ab4996f013ac222b53bea0b46ff95e1df"></a><!-- doxytag: member="boost::xint::bitwise_xor" ref="ab4996f013ac222b53bea0b46ff95e1df" args="(const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)" -->
+<a class="anchor" id="a5b884361c54aa64a1974879cb3464c9a"></a><!-- doxytag: member="boost::xint::divide" ref="a5b884361c54aa64a1974879cb3464c9a" args="(const nothrow_integer &amp;dividend, const nothrow_integer &amp;divisor)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::bitwise_xor </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::divide </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramname"> <em>dividend</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -591,68 +1359,89 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Combine two integers using a bitwise <code>XOR</code> operation. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
  </p>
 
 </div>
 </div>
-<a class="anchor" id="a6afd5af4550b698f6a7065f457fcb0a1"></a><!-- doxytag: member="boost::xint::bitwise_xor" ref="a6afd5af4550b698f6a7065f457fcb0a1" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<a class="anchor" id="a95d8f6a792d953e6f1b3b1d1b43a05dc"></a><!-- doxytag: member="boost::xint::divide_r" ref="a95d8f6a792d953e6f1b3b1d1b43a05dc" args="(const fixed_integer&lt; Bits &gt; &amp;dividend, const fixed_integer&lt; Bits &gt; &amp;divisor)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::bitwise_xor </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;::divide_t boost::xint::divide_r </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>dividend</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Combine two integers using a bitwise <code>XOR</code> operation. </p>
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00571">571</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a6b82b4f0911b258e82b9c11b4413c8bf"></a><!-- doxytag: member="boost::xint::clearbit" ref="a6b82b4f0911b258e82b9c11b4413c8bf" args="(nothrow_integer &amp;n, size_t bit)" -->
+<a class="anchor" id="aab594b314b957c668fb8d21cea175ff4"></a><!-- doxytag: member="boost::xint::divide_r" ref="aab594b314b957c668fb8d21cea175ff4" args="(const integer &amp;d1, const integer &amp;d2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::clearbit </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">integer::divide_t</a> boost::xint::divide_r </td>
           <td>(</td>
- <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>d1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -662,33 +1451,43 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Sets a specific bit in an integer to zero. <dl><dt><b>Parameters:</b></dt><dd>
+
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d1</em>&nbsp;</td><td>The dividend. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d2</em>&nbsp;</td><td>The divisor.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>divide_t</code> class containing the quotient and remainder of <code>d1</code> divided by <code>d2</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>d2</code> is zero. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
- </p>
 
 </div>
 </div>
-<a class="anchor" id="a96d452df71ac6799a7041647b4b106df"></a><!-- doxytag: member="boost::xint::clearbit" ref="a96d452df71ac6799a7041647b4b106df" args="(integer &amp;n, size_t bit)" -->
+<a class="anchor" id="a620fde117268b303531129d00247e24f"></a><!-- doxytag: member="boost::xint::divide_r" ref="a620fde117268b303531129d00247e24f" args="(const nothrow_integer &amp;d1, const nothrow_integer &amp;d2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::clearbit </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">nothrow_integer::divide_t</a> boost::xint::divide_r </td>
           <td>(</td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>d1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -698,328 +1497,386 @@
       </table>
 </div>
 <div class="memdoc">
-
-<p>Sets a specific bit in an integer to zero. </p>
+<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d1</em>&nbsp;</td><td>The dividend. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d2</em>&nbsp;</td><td>The divisor.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A <code>divide_t</code> class containing the quotient and remainder of <code>d1</code> divided by <code>d2</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>d2</code> is zero. </td></tr>
+ </table>
+ </dd>
+</dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Returns two Not-a-Number values instead of throwing. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="a2745c08384519957ceaf26c3e421d485"></a><!-- doxytag: member="boost::xint::compare" ref="a2745c08384519957ceaf26c3e421d485" args="(const nothrow_integer &amp;b1, const nothrow_integer &amp;b2, bool ignoresign)" -->
+<a class="anchor" id="a942e346f6e6d069dc19c28e7e56634ab"></a><!-- doxytag: member="boost::xint::factorial" ref="a942e346f6e6d069dc19c28e7e56634ab" args="(size_t n)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">int boost::xint::compare </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::factorial </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
- </tr>
- <tr>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
           <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Compare two integer objects. <dl><dt><b>Parameters:</b></dt><dd>
+
+<p>Calculate the value of <code>n!</code> </p>
+<ul>
+<li>Complexity: O(n<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b1,b2</em>&nbsp;</td><td>The integers to compare. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>.</dd></dl>
-<p>This is the function behind all of the comparison operators. It might sometimes be useful directly as well. </p>
-<dl class="note"><dt><b>Note:</b></dt><dd>Returns 0 instead of throwing. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> factorial, defined as <code>1*2*3*...*n</code></dd></dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>Factorials get ridiculously huge, even with fairly small values of <code>n</code>. This function, when used with a large parameter, is the easiest way to exhaust the system's memory. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="a23f712f01d6589687d2984b1c5efea8b"></a><!-- doxytag: member="boost::xint::compare" ref="a23f712f01d6589687d2984b1c5efea8b" args="(const integer &amp;b1, const integer &amp;b2, bool ignoresign)" -->
+<a class="anchor" id="a63ac6898cbfa81d7de658e359fdfbe36"></a><!-- doxytag: member="boost::xint::fixed_factorial" ref="a63ac6898cbfa81d7de658e359fdfbe36" args="(size_t n)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">int boost::xint::compare </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_factorial </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Compare two integer objects. </p>
+<p>Calculate the value of <code>n!</code> <ul>
+<li>Complexity: O(n<sup>3</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b1,b2</em>&nbsp;</td><td>The integers to compare. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>.</dd></dl>
-<p>This is the function behind all of the comparison operators. It might sometimes be useful directly as well. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> factorial, defined as <code>1*2*3*...*n</code></dd></dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>Factorials get ridiculously huge, even with fairly small values of <code>n</code>. This function, when used with a large parameter, is the easiest way to exhaust the system's memory. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00608">608</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a4892543bb8ccfa8acb188a63a3d4723b"></a><!-- doxytag: member="boost::xint::divide" ref="a4892543bb8ccfa8acb188a63a3d4723b" args="(const integer &amp;dividend, const integer &amp;divisor)" -->
+<a class="anchor" id="af792bffef18de798c1b37be425baaa61"></a><!-- doxytag: member="boost::xint::fixed_from_binary" ref="af792bffef18de798c1b37be425baaa61" args="(const xint::binary_t &amp;b, size_t bits)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::divide </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_from_binary </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>dividend</em>, </td>
+ <td class="paramtype">const xint::binary_t &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>. </p>
+<p>Converts a portable binary representation of a number into an integer. <ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b</em>&nbsp;</td><td>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the bytes to convert, lowest byte first. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits packed into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
   </table>
   </dd>
 </dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer representing the bytes.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">xint::to_binary</a> </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00646">646</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a5b884361c54aa64a1974879cb3464c9a"></a><!-- doxytag: member="boost::xint::divide" ref="a5b884361c54aa64a1974879cb3464c9a" args="(const nothrow_integer &amp;dividend, const nothrow_integer &amp;divisor)" -->
+<a class="anchor" id="a5fed365142e2728924d9fca3396c0efe"></a><!-- doxytag: member="boost::xint::fixed_from_string" ref="a5fed365142e2728924d9fca3396c0efe" args="(const std::string &amp;str, size_t base)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::divide </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_from_string </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>dividend</em>, </td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>str</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>base</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Converts a string to an integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>The string to convert. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>the base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with the numeric value of the string in base <code>base</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">exceptions::overflow_error</a></em>&nbsp;</td><td>if there is not enough free memory to create the integer. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::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_1exceptions_1_1invalid__digit.html">exceptions::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 is the function that's called when reading an integer from a stream, or when contructing one from a string. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00630">630</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac115a2ae7492ac4bae0fe5b2878ca7b1"></a><!-- doxytag: member="boost::xint::fixed_pow2" ref="ac115a2ae7492ac4bae0fe5b2878ca7b1" args="(size_t e)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_pow2 </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>e</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</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>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
+<p>Calculate the value of 2<sup>e</sup> <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent to operate on.</td></tr>
   </table>
   </dd>
 </dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>2 to the power of <code>e</code>.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is a convenience function, to help with self-documenting code. </dd></dl>
  </p>
 
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00600">600</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="a0fff3b235a18c0b3243a1ccc01a68f23"></a><!-- doxytag: member="boost::xint::divide_r" ref="a0fff3b235a18c0b3243a1ccc01a68f23" args="(const integer &amp;d1, const integer &amp;d2)" -->
+<a class="anchor" id="a96c7867b9ad53a718c08db8226edec62"></a><!-- doxytag: member="boost::xint::fixed_random_by_size" ref="a96c7867b9ad53a718c08db8226edec62" args="(size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &gt; boost::xint::divide_r </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_random_by_size </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>high_bit_on</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>low_bit_on</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>can_be_negative</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. </p>
+<p>Generates a random integer with specific attributes. <ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d1</em>&nbsp;</td><td>The dividend. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d2</em>&nbsp;</td><td>The divisor.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>std::pair</code> containing the quotient and remainder of <code>d1</code> divided by <code>d2</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>d2</code> is zero. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>low_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will always be odd. If <code>false</code>, it has an equal chance of being odd or even. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>can_be_negative</em>&nbsp;</td><td>If <code>true</code>, the returned value has an equal chance of being positive or negative. If <code>false</code>, it will always be positive.</td></tr>
   </table>
   </dd>
 </dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00781">781</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aa7ba6c482e1526b25e6e946daf3a97ba"></a><!-- doxytag: member="boost::xint::divide_r" ref="aa7ba6c482e1526b25e6e946daf3a97ba" args="(const nothrow_integer &amp;d1, const nothrow_integer &amp;d2)" -->
+<a class="anchor" id="afab685e9431b90c98079030eae8bdb35"></a><!-- doxytag: member="boost::xint::fixed_random_prime" ref="afab685e9431b90c98079030eae8bdb35" args="(size_t size_in_bits, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &gt; boost::xint::divide_r </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_random_prime </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
+ <td class="paramtype">callback_t&nbsp;</td>
+ <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Generate a randomly-generated prime number of a particular bit-size. <ul>
+<li>Complexity: Varies</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d1</em>&nbsp;</td><td>The dividend. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d2</em>&nbsp;</td><td>The divisor.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>std::pair</code> containing the quotient and remainder of <code>d1</code> divided by <code>d2</code>.</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A randomly-generated prime integer with the specified number of bits, or zero if the provided callback function cancelled the operation.</dd></dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">exceptions::divide_by_zero</a></em>&nbsp;</td><td>if <code>d2</code> is zero. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>size_in_bits</code> is less than two.</td></tr>
   </table>
   </dd>
 </dl>
-</p>
-<dl class="note"><dt><b>Note:</b></dt><dd>Returns an std::pair with two Not-a-Number values instead of throwing. </dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This function uses <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a>. See the description of it for details of its limitations.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>It also uses the library's currently-set random number generator. See the <a class="el" href="random.html">Random Number Functions page</a> for details on its limitations and requirements, and how to get cryptographically-secure random numbers.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00790">790</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a942e346f6e6d069dc19c28e7e56634ab"></a><!-- doxytag: member="boost::xint::factorial" ref="a942e346f6e6d069dc19c28e7e56634ab" args="(size_t n)" -->
+<a class="anchor" id="a4ac395fda0e4553da82a8e967e188280"></a><!-- doxytag: member="boost::xint::from_binary" ref="a4ac395fda0e4553da82a8e967e188280" args="(const xint::binary_t &amp;b, size_t bits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::factorial </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::from_binary </td>
           <td>(</td>
+ <td class="paramtype">const xint::binary_t &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Calculate the value of <code>n!</code> </p>
+<p>Converts a portable binary representation of a number into an integer. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b</em>&nbsp;</td><td>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the bytes to convert, lowest byte first. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits packed into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> factorial, defined as <code>1*2*3*...*n</code></dd></dl>
-<dl class="warning"><dt><b>Warning:</b></dt><dd>Factorials get ridiculously huge, even with fairly small values of <code>n</code>. This function, when used with a large parameter, is the easiest way to exhaust the system's memory. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a58aa7dc532f0d8a1557c9ec8f512602e"></a><!-- doxytag: member="boost::xint::from_binary" ref="a58aa7dc532f0d8a1557c9ec8f512602e" args="(const std::string &amp;str)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::from_binary </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Converts a binary representation of a number into an integer. </p>
-<dl><dt><b>Parameters:</b></dt><dd>
+<dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>An <code>std::string</code> containing the bytes to convert, lowest byte first.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>An integer representing the bytes.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">xint::to_binary</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">xint::to_binary</a> </dd></dl>
 
 </div>
 </div>
@@ -1048,7 +1905,10 @@
 </div>
 <div class="memdoc">
 
-<p>Converts a string into an integer. </p>
+<p>Converts a string to an integer. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>The string to convert. </td></tr>
@@ -1065,8 +1925,7 @@
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when reading an integer from a stream, or when contructing one from a string.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8" title="Create an integer from a string representation.">integer::integer(const std::string&amp; str, size_t base)</a> </dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when reading an integer from a stream, or when contructing one from a string. </dd></dl>
 
 </div>
 </div>
@@ -1099,6 +1958,48 @@
 
 </div>
 </div>
+<a class="anchor" id="ab04ceb2184645859dcbbc00b7b9ff4ca"></a><!-- doxytag: member="boost::xint::gcd" ref="ab04ceb2184645859dcbbc00b7b9ff4ca" args="(const fixed_integer&lt; Bits &gt; &amp;num1, const fixed_integer&lt; Bits &gt; &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::gcd </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the Greatest Common Denominator of two integers. <ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The greatest common denominator of the two integers, which will always be a positive number. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00798">798</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a3ae2716e04bebbb74be08845db7132e2"></a><!-- doxytag: member="boost::xint::gcd" ref="a3ae2716e04bebbb74be08845db7132e2" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1123,7 +2024,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the Greatest Common Denominator of two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the Greatest Common Denominator of two integers. <ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
@@ -1160,6 +2064,9 @@
 <div class="memdoc">
 
 <p>Calculate the Greatest Common Denominator of two integers. </p>
+<ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
@@ -1170,6 +2077,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a090f7c7d819b3c1a0f7cc0bd69dc4878"></a><!-- doxytag: member="boost::xint::getbit" ref="a090f7c7d819b3c1a0f7cc0bd69dc4878" args="(const fixed_integer&lt; Bits &gt; &amp;n, size_t bit)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::getbit </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Queries the value of a particular bit in an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit you're asking about.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the specified bit is set (has a value of one), <code>false</code> if it is clear. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00654">654</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a125277404ae139bee70547f2d51d3e0e"></a><!-- doxytag: member="boost::xint::getbit" ref="a125277404ae139bee70547f2d51d3e0e" args="(const nothrow_integer &amp;n, size_t bit)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1194,7 +2144,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Queries the value of a particular bit in an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Queries the value of a particular bit in an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit you're asking about.</td></tr>
@@ -1233,6 +2186,9 @@
 <div class="memdoc">
 
 <p>Queries the value of a particular bit in an integer. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
@@ -1244,6 +2200,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a058c69285b794392f3e5853355d0fa3e"></a><!-- doxytag: member="boost::xint::highestbit" ref="a058c69285b794392f3e5853355d0fa3e" args="(const fixed_integer&lt; Bits &gt; &amp;n, size_t valueIfZero)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::highestbit </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Obtains the index of the highest bit in an integer with a value of one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the highest one-bit in the integer, or <code>valueIfZero</code> if the integer contains no set bits. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00678">678</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="ab817edabf5a6709c753dc6c07186ea75"></a><!-- doxytag: member="boost::xint::highestbit" ref="ab817edabf5a6709c753dc6c07186ea75" args="(const nothrow_integer &amp;n, size_t valueIfZero)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1268,7 +2267,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Obtains the index of the highest bit in an integer with a value of one. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Obtains the index of the highest bit in an integer with a value of one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
@@ -1307,6 +2309,9 @@
 <div class="memdoc">
 
 <p>Obtains the index of the highest bit in an integer with a value of one. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
@@ -1334,7 +2339,56 @@
 </div>
 <div class="memdoc">
 
-<p>Returns the low digit of the inverse of a number. Used internally. </p>
+<p>Returns the low digit of the inverse of a number. Used internally. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0ae43d82587191d69d4f0b44226fc12f"></a><!-- doxytag: member="boost::xint::invmod" ref="a0ae43d82587191d69d4f0b44226fc12f" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::invmod </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the modular inverse of a number in a modulus, if there is one. <ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to calculate the inverse of. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus to use.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The modular inverse of <code>n</code> in <code>m</code>. If <code>n</code> has no modular inverse in <code>m</code>, returns zero.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">exceptions::invalid_modulus</a></em>&nbsp;</td><td>if the modulus is less than one. </td></tr>
+ </table>
+ </dd>
+</dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00771">771</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1362,9 +2416,12 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the modular inverse of a number in a modulus, if there is one. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the modular inverse of a number in a modulus, if there is one. <ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to retrieve the inverse of. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to calculate the inverse of. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus to use.</td></tr>
   </table>
   </dd>
@@ -1407,9 +2464,12 @@
 <div class="memdoc">
 
 <p>Get the modular inverse of a number in a modulus, if there is one. </p>
+<ul>
+<li>Complexity: O((log n)<sup>3</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to retrieve the inverse of. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to calculate the inverse of. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus to use.</td></tr>
   </table>
   </dd>
@@ -1424,6 +2484,53 @@
 
 </div>
 </div>
+<a class="anchor" id="a0711bdafefe7d376e5cc603731318fc6"></a><!-- doxytag: member="boost::xint::is_prime" ref="a0711bdafefe7d376e5cc603731318fc6" args="(const fixed_integer_any &amp;n, callback_t callback)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int boost::xint::is_prime </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">callback_t&nbsp;</td>
+ <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests an integer for primality. <ul>
+<li>Complexity: Varies</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to test. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if <code>n</code> seems to be prime, 0 if it isn't, or -1 if the provided callback function cancelled the operation.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>n</code> is less than 2.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the Rabin-Miller probabilistic primality test. There is an infinitesimally small chance that it will think that a composite number is actually prime, but that is so small that it can be ignored for most practical purposes. If even that chance is too much, you can run this function over the number several times, it will use different random "witness" numbers each time.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
+ </p>
+
+</div>
+</div>
 <a class="anchor" id="a58aa3df545d1da848922c13de2a87fc9"></a><!-- doxytag: member="boost::xint::is_prime" ref="a58aa3df545d1da848922c13de2a87fc9" args="(const integer &amp;n, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1450,6 +2557,9 @@
 <div class="memdoc">
 
 <p>Tests an integer for primality. </p>
+<ul>
+<li>Complexity: Varies</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to test. </td></tr>
@@ -1493,7 +2603,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Tests an integer for primality. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Tests an integer for primality. <ul>
+<li>Complexity: Varies</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The number to test. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
@@ -1514,6 +2627,48 @@
 
 </div>
 </div>
+<a class="anchor" id="a4e4bf24a99b565005d75630de66c5316"></a><!-- doxytag: member="boost::xint::lcm" ref="a4e4bf24a99b565005d75630de66c5316" args="(const fixed_integer&lt; Bits &gt; &amp;num1, const fixed_integer&lt; Bits &gt; &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::lcm </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the Least Common Multiple of two integers. <ul>
+<li>Complexity: O((log n)<sup>3</sup> + n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The least common multiple of the two integers. If either integer is zero, then the return value will be zero, by convention; in all other cases, the return value will be a positive number. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00808">808</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a8782636245af4772735f6e7510a7d3da"></a><!-- doxytag: member="boost::xint::lcm" ref="a8782636245af4772735f6e7510a7d3da" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1538,7 +2693,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the Least Common Multiple of two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the Least Common Multiple of two integers. <ul>
+<li>Complexity: O((log n)<sup>3</sup> + n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
@@ -1575,6 +2733,9 @@
 <div class="memdoc">
 
 <p>Calculate the Least Common Multiple of two integers. </p>
+<ul>
+<li>Complexity: O((log n)<sup>3</sup> + n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
@@ -1600,7 +2761,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the log<sub>2</sub> value of an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the log<sub>2</sub> value of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
   </table>
@@ -1614,6 +2778,37 @@
 
 </div>
 </div>
+<a class="anchor" id="a080731f708e62fc429687bf450f36fa2"></a><!-- doxytag: member="boost::xint::log2" ref="a080731f708e62fc429687bf450f36fa2" args="(const fixed_integer_any &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::log2 </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the log<sub>2</sub> value of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The integer log<sub>2</sub> value of the integer.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(log2(n)-1) will give you an integer with the highest set bit of <code>n</code>, assuming that <code>n</code> is non-zero.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>Similar to the <a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a> function. </dd></dl>
+ </p>
+
+</div>
+</div>
 <a class="anchor" id="a0cd277cd7a80cda764f889781f0140cd"></a><!-- doxytag: member="boost::xint::log2" ref="a0cd277cd7a80cda764f889781f0140cd" args="(const integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1631,6 +2826,9 @@
 <div class="memdoc">
 
 <p>Get the log<sub>2</sub> value of an integer. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
@@ -1643,6 +2841,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a6d7bfe0c5806902b377df0934f027f38"></a><!-- doxytag: member="boost::xint::lowestbit" ref="a6d7bfe0c5806902b377df0934f027f38" args="(const fixed_integer&lt; Bits &gt; &amp;n, size_t valueIfZero)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::lowestbit </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Obtains the index of the lowest bit in an integer with a value of one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the lowest one-bit in the integer, or <code>valueIfZero</code> if the integer contains no set bits. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00672">672</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a09477129544d4bdb08ddd63644683f5c"></a><!-- doxytag: member="boost::xint::lowestbit" ref="a09477129544d4bdb08ddd63644683f5c" args="(const nothrow_integer &amp;n, size_t valueIfZero)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1667,7 +2908,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Obtains the index of the lowest bit in an integer with a value of one. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Obtains the index of the lowest bit in an integer with a value of one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
@@ -1706,6 +2950,9 @@
 <div class="memdoc">
 
 <p>Obtains the index of the lowest bit in an integer with a value of one. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to query. </td></tr>
@@ -1717,6 +2964,37 @@
 
 </div>
 </div>
+<a class="anchor" id="a30c0cd9ad317c1a373cdc059b6f81cb9"></a><!-- doxytag: member="boost::xint::mod" ref="a30c0cd9ad317c1a373cdc059b6f81cb9" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;modBy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::mod </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>modBy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00735">735</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="af91fe435810928b98d6e2b36ea4c3b53"></a><!-- doxytag: member="boost::xint::mod" ref="af91fe435810928b98d6e2b36ea4c3b53" args="(const nothrow_integer &amp;n, const nothrow_integer &amp;m)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1741,7 +3019,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the remainder after dividing a number by another. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the remainder after dividing a number by another. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The dividend. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The divisor.</td></tr>
@@ -1779,6 +3060,9 @@
 <div class="memdoc">
 
 <p>Get the remainder after dividing a number by another. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The dividend. </td></tr>
@@ -1886,6 +3170,56 @@
 
 </div>
 </div>
+<a class="anchor" id="a6dd657413c395d346e59b282aa6138d8"></a><!-- doxytag: member="boost::xint::mulmod" ref="a6dd657413c395d346e59b282aa6138d8" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;by, const fixed_integer&lt; Bits &gt; &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::mulmod </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>by</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the modular product of two integers. <ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to multiply. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>n</code> * <code>by</code> % <code>m</code>.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00745">745</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a3deaa6f8a44d454129bb06691a6035c7"></a><!-- doxytag: member="boost::xint::mulmod" ref="a3deaa6f8a44d454129bb06691a6035c7" args="(const nothrow_integer &amp;n, const nothrow_integer &amp;by, const nothrow_integer &amp;m)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1916,7 +3250,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the modular product of two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the modular product of two integers. <ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to multiply. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
@@ -1961,6 +3298,9 @@
 <div class="memdoc">
 
 <p>Get the modular product of two integers. </p>
+<ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to multiply. </td></tr>
@@ -1973,6 +3313,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a6a548d944523cfc7c22823014bb6dcb6"></a><!-- doxytag: member="boost::xint::multiply" ref="a6a548d944523cfc7c22823014bb6dcb6" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;by)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::multiply </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>by</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the product of two integers. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The product of the parameters.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>Automatically uses the more-efficient squaring algorithm if it can trivially detect that the two parameters are copies of the same number. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00551">551</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a9e0d6ad947fa3e979ed6e26d7e81ab7f"></a><!-- doxytag: member="boost::xint::multiply" ref="a9e0d6ad947fa3e979ed6e26d7e81ab7f" args="(const integer &amp;n, const integer &amp;by)" -->
 <div class="memitem">
 <div class="memproto">
@@ -1999,6 +3382,9 @@
 <div class="memdoc">
 
 <p>Calculate the product of two integers. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to operate on.</td></tr>
@@ -2034,7 +3420,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the product of two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the product of two integers. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,by</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
@@ -2046,6 +3435,39 @@
 
 </div>
 </div>
+<a class="anchor" id="ade2e4d02cf0aa413f7e6f4d943ca341d"></a><!-- doxytag: member="boost::xint::negate" ref="ade2e4d02cf0aa413f7e6f4d943ca341d" args="(const fixed_integer&lt; Bits &gt; &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::negate </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Return the additive inverse of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>-n</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00523">523</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a84190f7b286de191e8026e440f104731"></a><!-- doxytag: member="boost::xint::negate" ref="a84190f7b286de191e8026e440f104731" args="(const integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -2063,6 +3485,9 @@
 <div class="memdoc">
 
 <p>Return the additive inverse of an integer. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
@@ -2088,7 +3513,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Return the additive inverse of an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Return the additive inverse of an integer. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
   </table>
@@ -2114,7 +3542,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the value of <code>n!</code> <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the value of <code>n!</code> <ul>
+<li>Complexity: O(n<sup>3</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
   </table>
@@ -2126,29 +3557,48 @@
 
 </div>
 </div>
-<a class="anchor" id="ab6045aa842481c5175a2d2afbe018ff1"></a><!-- doxytag: member="boost::xint::nothrow_from_binary" ref="ab6045aa842481c5175a2d2afbe018ff1" args="(const std::string &amp;str)" -->
+<a class="anchor" id="ad7e6b2629b12014d16bbc7b2383d72cd"></a><!-- doxytag: member="boost::xint::nothrow_from_binary" ref="ad7e6b2629b12014d16bbc7b2383d72cd" args="(const xint::binary_t &amp;b, size_t bits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::nothrow_from_binary </td>
           <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const xint::binary_t &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Converts a binary representation of a number into an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Converts a portable binary representation of a number into an integer. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>b</em>&nbsp;</td><td>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the bytes to convert, lowest byte first. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits packed into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>An <code>std::string</code> containing the bytes to convert, lowest byte first.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>An integer representing the bytes.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">xint::to_binary</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">xint::to_binary</a> </dd></dl>
  </p>
 
 </div>
@@ -2177,7 +3627,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Converts a string into an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Converts a string to an integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>The string to convert. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>the base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
@@ -2193,8 +3646,7 @@
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when reading an integer from a stream, or when contructing one from a string.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8" title="Create an integer from a string representation.">integer::integer(const std::string&amp; str, size_t base)</a> </dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when reading an integer from a stream, or when contructing one from a string. </dd></dl>
 </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>If the string is <code>#NaN#</code>, then it will return <a class="el" href="nan.html">Not-a-Number</a>. </dd></dl>
 
@@ -2215,7 +3667,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the value of 2<sup>e</sup> <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the value of 2<sup>e</sup> <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent to operate on.</td></tr>
   </table>
@@ -2263,7 +3718,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Generates a random integer with specific attributes. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Generates a random integer with specific attributes. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
@@ -2305,7 +3763,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Generate a randomly-generated prime number of a particular bit-size. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Generate a randomly-generated prime number of a particular bit-size. <ul>
+<li>Complexity: Varies</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
@@ -2326,35 +3787,26 @@
 
 </div>
 </div>
-<a class="anchor" id="ad1ffadda01cf8e0b230178a9325d96dc"></a><!-- doxytag: member="boost::xint::operator!" ref="ad1ffadda01cf8e0b230178a9325d96dc" args="(const nothrow_integer &amp;num1)" -->
+<a class="anchor" id="a43189615a1bfb4904c969efe846cefc6"></a><!-- doxytag: member="boost::xint::operator!=" ref="a43189615a1bfb4904c969efe846cefc6" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator! </td>
+ <td class="memname">bool boost::xint::operator!= </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
           <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a223232e2fe1af65bbba7b67a10f14f48"></a><!-- doxytag: member="boost::xint::operator!" ref="a223232e2fe1af65bbba7b67a10f14f48" args="(const integer &amp;num1)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator! </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em></td>
- <td>&nbsp;)&nbsp;</td>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -2362,20 +3814,20 @@
 
 </div>
 </div>
-<a class="anchor" id="a43189615a1bfb4904c969efe846cefc6"></a><!-- doxytag: member="boost::xint::operator!=" ref="a43189615a1bfb4904c969efe846cefc6" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="ad85d78b5be317ed9a3cfa512953fa800"></a><!-- doxytag: member="boost::xint::operator!=" ref="ad85d78b5be317ed9a3cfa512953fa800" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">bool boost::xint::operator!= </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -2605,17 +4057,26 @@
 
 </div>
 </div>
-<a class="anchor" id="af0e2812ac56a264cd9a86243306ec0fb"></a><!-- doxytag: member="boost::xint::operator+" ref="af0e2812ac56a264cd9a86243306ec0fb" args="(const integer &amp;a)" -->
+<a class="anchor" id="a69d186688f404f1608663142da86158c"></a><!-- doxytag: member="boost::xint::operator+" ref="a69d186688f404f1608663142da86158c" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::operator+ </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator+ </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -2623,20 +4084,20 @@
 
 </div>
 </div>
-<a class="anchor" id="a69d186688f404f1608663142da86158c"></a><!-- doxytag: member="boost::xint::operator+" ref="a69d186688f404f1608663142da86158c" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="ac16aa971521ae015a62ec015f1fe56d0"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="ac16aa971521ae015a62ec015f1fe56d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator+ </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator- </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -2650,14 +4111,14 @@
 
 </div>
 </div>
-<a class="anchor" id="a7445ea22d360a39fd330f9c53ca550f3"></a><!-- doxytag: member="boost::xint::operator+" ref="a7445ea22d360a39fd330f9c53ca550f3" args="(const nothrow_integer &amp;a)" -->
+<a class="anchor" id="a92ee4f1138215a36f4374a356fa5a359"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="a92ee4f1138215a36f4374a356fa5a359" args="(const integer &amp;a)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp; boost::xint::operator+ </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator- </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>a</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -2666,14 +4127,43 @@
 </div>
 <div class="memdoc">
 
+<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00022">22</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="ac16aa971521ae015a62ec015f1fe56d0"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="ac16aa971521ae015a62ec015f1fe56d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="ad51e8e59ad1ff61dcdd462bf9d8acf08"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="ad51e8e59ad1ff61dcdd462bf9d8acf08" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator- </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator- </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9a2859e7b5e532eaa0cc51aba4f958c2"></a><!-- doxytag: member="boost::xint::operator/" ref="a9a2859e7b5e532eaa0cc51aba4f958c2" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator/ </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -2695,17 +4185,26 @@
 
 </div>
 </div>
-<a class="anchor" id="a92ee4f1138215a36f4374a356fa5a359"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="a92ee4f1138215a36f4374a356fa5a359" args="(const integer &amp;a)" -->
+<a class="anchor" id="a83d07bf51fce0b4644b2190278c30413"></a><!-- doxytag: member="boost::xint::operator/" ref="a83d07bf51fce0b4644b2190278c30413" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator- </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator/ </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -2713,12 +4212,12 @@
 
 </div>
 </div>
-<a class="anchor" id="ad51e8e59ad1ff61dcdd462bf9d8acf08"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="ad51e8e59ad1ff61dcdd462bf9d8acf08" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="aab98cd20fa3761900de197363bac0fcb"></a><!-- doxytag: member="boost::xint::operator&lt;" ref="aab98cd20fa3761900de197363bac0fcb" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator- </td>
+ <td class="memname">bool boost::xint::operator&lt; </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -2740,57 +4239,159 @@
 
 </div>
 </div>
-<a class="anchor" id="afbf48bed2400e2eec3fd9544420357f3"></a><!-- doxytag: member="boost::xint::operator&#45;" ref="afbf48bed2400e2eec3fd9544420357f3" args="(const nothrow_integer &amp;a)" -->
+<a class="anchor" id="ad6104aaba26d6b8d801cce276f154fe8"></a><!-- doxytag: member="boost::xint::operator&lt;" ref="ad6104aaba26d6b8d801cce276f154fe8" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af845afe18e9b1326d630e5c0696e679d"></a><!-- doxytag: member="boost::xint::operator&lt;" ref="af845afe18e9b1326d630e5c0696e679d" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4b7b76c7fb4b03cf086773a55604d6a2"></a><!-- doxytag: member="boost::xint::operator&lt;&lt;" ref="a4b7b76c7fb4b03cf086773a55604d6a2" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const nothrow_integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename charT , typename traits &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00318">318</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d1a90f08d8ad3547627f2c2590ab20d"></a><!-- doxytag: member="boost::xint::operator&lt;&lt;" ref="a8d1a90f08d8ad3547627f2c2590ab20d" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator- </td>
- <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00275">275</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="a9a2859e7b5e532eaa0cc51aba4f958c2"></a><!-- doxytag: member="boost::xint::operator/" ref="a9a2859e7b5e532eaa0cc51aba4f958c2" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="a7188dd65026fde2ae4a690d55ef7b648"></a><!-- doxytag: member="boost::xint::operator&lt;&lt;" ref="a7188dd65026fde2ae4a690d55ef7b648" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const fixed_integer&lt; Bits &gt; &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename charT , typename traits , size_t Bits&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::operator/ </td>
+ <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::operator&lt;&lt; </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
+ <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00819">819</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="a83d07bf51fce0b4644b2190278c30413"></a><!-- doxytag: member="boost::xint::operator/" ref="a83d07bf51fce0b4644b2190278c30413" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="a8a72cb95a5e25a310215eaa2cc93349f"></a><!-- doxytag: member="boost::xint::operator&lt;=" ref="a8a72cb95a5e25a310215eaa2cc93349f" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::operator/ </td>
+ <td class="memname">bool boost::xint::operator&lt;= </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -2812,20 +4413,20 @@
 
 </div>
 </div>
-<a class="anchor" id="aab98cd20fa3761900de197363bac0fcb"></a><!-- doxytag: member="boost::xint::operator&lt;" ref="aab98cd20fa3761900de197363bac0fcb" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="a40319361b76e6c7fea92867ea76695c2"></a><!-- doxytag: member="boost::xint::operator&lt;=" ref="a40319361b76e6c7fea92867ea76695c2" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&lt; </td>
+ <td class="memname">bool boost::xint::operator&lt;= </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -2839,12 +4440,12 @@
 
 </div>
 </div>
-<a class="anchor" id="af845afe18e9b1326d630e5c0696e679d"></a><!-- doxytag: member="boost::xint::operator&lt;" ref="af845afe18e9b1326d630e5c0696e679d" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="a7749bff2e150c55649324ba9797aa6d0"></a><!-- doxytag: member="boost::xint::operator&lt;=" ref="a7749bff2e150c55649324ba9797aa6d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&lt; </td>
+ <td class="memname">bool boost::xint::operator&lt;= </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -2866,82 +4467,74 @@
 
 </div>
 </div>
-<a class="anchor" id="a4b7b76c7fb4b03cf086773a55604d6a2"></a><!-- doxytag: member="boost::xint::operator&lt;&lt;" ref="a4b7b76c7fb4b03cf086773a55604d6a2" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const nothrow_integer &amp;n)" -->
+<a class="anchor" id="accccaec2c2a8ccfadfc559adbb7ff6ed"></a><!-- doxytag: member="boost::xint::operator==" ref="accccaec2c2a8ccfadfc559adbb7ff6ed" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::operator&lt;&lt; </td>
+ <td class="memname">bool boost::xint::operator== </td>
           <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
-
 </div>
 </div>
-<a class="anchor" id="a8d1a90f08d8ad3547627f2c2590ab20d"></a><!-- doxytag: member="boost::xint::operator&lt;&lt;" ref="a8d1a90f08d8ad3547627f2c2590ab20d" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const integer &amp;n)" -->
+<a class="anchor" id="a1ecc233f5b5f1fc24a7aa9bab3868c2c"></a><!-- doxytag: member="boost::xint::operator==" ref="a1ecc233f5b5f1fc24a7aa9bab3868c2c" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::operator&lt;&lt; </td>
+ <td class="memname">bool boost::xint::operator== </td>
           <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00304">304</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
-
 </div>
 </div>
-<a class="anchor" id="a8a72cb95a5e25a310215eaa2cc93349f"></a><!-- doxytag: member="boost::xint::operator&lt;=" ref="a8a72cb95a5e25a310215eaa2cc93349f" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="a66b558cce023df7b3e10ee22dfe653d0"></a><!-- doxytag: member="boost::xint::operator==" ref="a66b558cce023df7b3e10ee22dfe653d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&lt;= </td>
+ <td class="memname">bool boost::xint::operator== </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -2955,20 +4548,20 @@
 
 </div>
 </div>
-<a class="anchor" id="a7749bff2e150c55649324ba9797aa6d0"></a><!-- doxytag: member="boost::xint::operator&lt;=" ref="a7749bff2e150c55649324ba9797aa6d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="a002b54ae65c6c265d773e7b491bd90fb"></a><!-- doxytag: member="boost::xint::operator&gt;" ref="a002b54ae65c6c265d773e7b491bd90fb" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&lt;= </td>
+ <td class="memname">bool boost::xint::operator&gt; </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -2982,20 +4575,20 @@
 
 </div>
 </div>
-<a class="anchor" id="accccaec2c2a8ccfadfc559adbb7ff6ed"></a><!-- doxytag: member="boost::xint::operator==" ref="accccaec2c2a8ccfadfc559adbb7ff6ed" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="ac04d99142bc67642325ac524a8523f63"></a><!-- doxytag: member="boost::xint::operator&gt;" ref="ac04d99142bc67642325ac524a8523f63" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator== </td>
+ <td class="memname">bool boost::xint::operator&gt; </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -3009,12 +4602,12 @@
 
 </div>
 </div>
-<a class="anchor" id="a66b558cce023df7b3e10ee22dfe653d0"></a><!-- doxytag: member="boost::xint::operator==" ref="a66b558cce023df7b3e10ee22dfe653d0" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="ab09672bca82a7f4fbdca4443492210bc"></a><!-- doxytag: member="boost::xint::operator&gt;" ref="ab09672bca82a7f4fbdca4443492210bc" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator== </td>
+ <td class="memname">bool boost::xint::operator&gt; </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -3036,12 +4629,12 @@
 
 </div>
 </div>
-<a class="anchor" id="a002b54ae65c6c265d773e7b491bd90fb"></a><!-- doxytag: member="boost::xint::operator&gt;" ref="a002b54ae65c6c265d773e7b491bd90fb" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="a2e213ecd798c6bc331460dff13b35173"></a><!-- doxytag: member="boost::xint::operator&gt;=" ref="a2e213ecd798c6bc331460dff13b35173" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&gt; </td>
+ <td class="memname">bool boost::xint::operator&gt;= </td>
           <td>(</td>
           <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
@@ -3063,20 +4656,20 @@
 
 </div>
 </div>
-<a class="anchor" id="ab09672bca82a7f4fbdca4443492210bc"></a><!-- doxytag: member="boost::xint::operator&gt;" ref="ab09672bca82a7f4fbdca4443492210bc" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="af6fd110351f7aebd589bd482eab3696a"></a><!-- doxytag: member="boost::xint::operator&gt;=" ref="af6fd110351f7aebd589bd482eab3696a" args="(const fixed_integer_any &amp;num1, const fixed_integer_any &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&gt; </td>
+ <td class="memname">bool boost::xint::operator&gt;= </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -3090,20 +4683,20 @@
 
 </div>
 </div>
-<a class="anchor" id="a2e213ecd798c6bc331460dff13b35173"></a><!-- doxytag: member="boost::xint::operator&gt;=" ref="a2e213ecd798c6bc331460dff13b35173" args="(const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)" -->
+<a class="anchor" id="a1ace7bde7533ff9d8a3f38978e7bb046"></a><!-- doxytag: member="boost::xint::operator&gt;=" ref="a1ace7bde7533ff9d8a3f38978e7bb046" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">bool boost::xint::operator&gt;= </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
           <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -3117,34 +4710,38 @@
 
 </div>
 </div>
-<a class="anchor" id="a1ace7bde7533ff9d8a3f38978e7bb046"></a><!-- doxytag: member="boost::xint::operator&gt;=" ref="a1ace7bde7533ff9d8a3f38978e7bb046" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<a class="anchor" id="a01075dbe629f0b3bd58d4d18fce80637"></a><!-- doxytag: member="boost::xint::operator&gt;&gt;" ref="a01075dbe629f0b3bd58d4d18fce80637" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, nothrow_integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">bool boost::xint::operator&gt;= </td>
+ <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; boost::xint::operator&gt;&gt; </td>
           <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
+ <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>in</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="a01075dbe629f0b3bd58d4d18fce80637"></a><!-- doxytag: member="boost::xint::operator&gt;&gt;" ref="a01075dbe629f0b3bd58d4d18fce80637" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, nothrow_integer &amp;n)" -->
+<a class="anchor" id="a3a5967ac54c1a269f0b4ed555391ca4f"></a><!-- doxytag: member="boost::xint::operator&gt;&gt;" ref="a3a5967ac54c1a269f0b4ed555391ca4f" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -3159,7 +4756,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">integer &amp;&nbsp;</td>
           <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -3171,15 +4768,15 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00282">282</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a3a5967ac54c1a269f0b4ed555391ca4f"></a><!-- doxytag: member="boost::xint::operator&gt;&gt;" ref="a3a5967ac54c1a269f0b4ed555391ca4f" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, integer &amp;n)" -->
+<a class="anchor" id="ab027908e04b71c8be33172768c6a2f67"></a><!-- doxytag: member="boost::xint::operator&gt;&gt;" ref="ab027908e04b71c8be33172768c6a2f67" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, fixed_integer&lt; Bits &gt; &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
+template&lt;typename charT , typename traits , size_t Bits&gt; </div>
       <table class="memname">
         <tr>
           <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; boost::xint::operator&gt;&gt; </td>
@@ -3190,7 +4787,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">integer &amp;&nbsp;</td>
+ <td class="paramtype">fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
           <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -3202,7 +4799,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00826">826</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -3354,6 +4951,48 @@
 
 </div>
 </div>
+<a class="anchor" id="ae92b86a29007f48749f17d54f36f469a"></a><!-- doxytag: member="boost::xint::pow" ref="ae92b86a29007f48749f17d54f36f469a" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer_any &amp;e)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::pow </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the value of n<sup>e</sup> <ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,e</em>&nbsp;</td><td>The integers to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> to the power of <code>e</code>. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00590">590</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="aa7d7b30f587c98ad31b8d421b8813c61"></a><!-- doxytag: member="boost::xint::pow" ref="aa7d7b30f587c98ad31b8d421b8813c61" args="(const integer &amp;n, const integer &amp;e)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3380,6 +5019,9 @@
 <div class="memdoc">
 
 <p>Calculate the value of n<sup>e</sup> </p>
+<ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,e</em>&nbsp;</td><td>The integers to operate on.</td></tr>
@@ -3414,7 +5056,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the value of n<sup>e</sup> <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the value of n<sup>e</sup> <ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n,e</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
@@ -3442,6 +5087,9 @@
 <div class="memdoc">
 
 <p>Calculate the value of 2<sup>e</sup> </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent to operate on.</td></tr>
@@ -3453,6 +5101,71 @@
 
 </div>
 </div>
+<a class="anchor" id="a8f97bd640a2e3a45313fd1893dc854e3"></a><!-- doxytag: member="boost::xint::powmod" ref="a8f97bd640a2e3a45313fd1893dc854e3" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;e, const fixed_integer&lt; Bits &gt; &amp;m, bool noMontgomery)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::powmod </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>e</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to exponentiate. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>noMontgomery</em>&nbsp;</td><td>Used for testing, leave false for normal operation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>pow</code>(n, <code>exponent</code>) % <code>modulus</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">exceptions::invalid_modulus</a></em>&nbsp;</td><td>if the modulus is less than one.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than a naive implementation.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>In addition, this function will use the Montgomery Reduction internally, if the modulus is an odd number (and if <code>noMontgomery</code> isn't set), which is almost always faster than the non-Montgomery method. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00761">761</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="aa0d4bbcf5391accad798da207180894e"></a><!-- doxytag: member="boost::xint::powmod" ref="aa0d4bbcf5391accad798da207180894e" args="(const nothrow_integer &amp;n, const nothrow_integer &amp;e, const nothrow_integer &amp;m, bool noMontgomery)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3489,7 +5202,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to exponentiate. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent. </td></tr>
@@ -3505,7 +5221,7 @@
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than writing out the equivalent calculations.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than a naive implementation.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>In addition, this function will use the Montgomery Reduction internally, if the modulus is an odd number (and if <code>noMontgomery</code> isn't set), which is almost always faster than the non-Montgomery method. </dd></dl>
  </p>
 
@@ -3549,6 +5265,9 @@
 <div class="memdoc">
 
 <p>Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. </p>
+<ul>
+<li>Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to exponentiate. </td></tr>
@@ -3565,7 +5284,7 @@
   </table>
   </dd>
 </dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than writing out the equivalent calculations.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than a naive implementation.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>In addition, this function will use the Montgomery Reduction internally, if the modulus is an odd number (and if <code>noMontgomery</code> isn't set), which is almost always faster than the non-Montgomery method. </dd></dl>
 
 </div>
@@ -3608,6 +5327,9 @@
 <div class="memdoc">
 
 <p>Generates a random integer with specific attributes. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
@@ -3651,6 +5373,9 @@
 <div class="memdoc">
 
 <p>Generate a randomly-generated prime number of a particular bit-size. </p>
+<ul>
+<li>Complexity: Varies</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
@@ -3678,28 +5403,71 @@
 template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">void boost::xint::set_random_generator </td>
- <td>(</td>
- <td class="paramtype">T *&nbsp;</td>
- <td class="paramname"> <em>gen</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
+ <td class="memname">void boost::xint::set_random_generator </td>
+ <td>(</td>
+ <td class="paramtype">T *&nbsp;</td>
+ <td class="paramname"> <em>gen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Change the random generator that the library uses. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>A pointer to the new generator to use.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>The generator must be a heap-allocated pointer (one created with <code>new</code>), which the XInt library assumes ownership of. Don't pass in a stack-created item, don't try to delete the item that you passed in, and don't attempt to use it separately after passing it to this function, or the behavior is undefined.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>See the <a class="el" href="random.html">Random Number page</a> for an example of how to use it. </dd></dl>
+
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00103">103</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaf72216ae1986d06d4f39c27cada42d6"></a><!-- doxytag: member="boost::xint::setbit" ref="aaf72216ae1986d06d4f39c27cada42d6" args="(fixed_integer&lt; Bits &gt; &amp;n, size_t bit)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::setbit </td>
+ <td>(</td>
+ <td class="paramtype">fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-
-<p>Change the random generator that the library uses. </p>
+<p>Sets a specific bit in an integer to one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>A pointer to the new generator to use.</td></tr>
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="warning"><dt><b>Warning:</b></dt><dd>The generator must be a heap-allocated pointer (one created with <code>new</code>), which the XInt library assumes ownership of. Don't pass in a stack-created item, don't try to delete the item that you passed in, and don't attempt to use it separately after passing it to this function, or the behavior is undefined.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>See the <a class="el" href="random.html">Random Number page</a> for an example of how to use it. </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
+ </p>
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00102">102</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00660">660</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -3727,7 +5495,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Sets a specific bit in an integer to one. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Sets a specific bit in an integer to one. <ul>
+<li>Complexity: O(1)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
@@ -3765,6 +5536,9 @@
 <div class="memdoc">
 
 <p>Sets a specific bit in an integer to one. </p>
+<ul>
+<li>Complexity: O(1)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
@@ -3776,6 +5550,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a24944978923b67b2547c0f7245e4d7b9"></a><!-- doxytag: member="boost::xint::shift" ref="a24944978923b67b2547c0f7245e4d7b9" args="(const fixed_integer&lt; Bits &gt; &amp;n, int byBits)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::shift </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Bit-shift an integer, in either direction. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to shift it. If positive, it will shift left, negative will shift right.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00714">714</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="ad62ca08dc3d7600eee872dc5a95c338c"></a><!-- doxytag: member="boost::xint::shift" ref="ad62ca08dc3d7600eee872dc5a95c338c" args="(const nothrow_integer &amp;n, int byBits)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3800,7 +5617,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Bit-shift an integer, in either direction. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Bit-shift an integer, in either direction. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to shift it. If positive, it will shift left, negative will shift right.</td></tr>
@@ -3838,6 +5658,9 @@
 <div class="memdoc">
 
 <p>Bit-shift an integer, in either direction. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
@@ -3849,6 +5672,49 @@
 
 </div>
 </div>
+<a class="anchor" id="a1b096bd6583148b84b5f8020dfad4865"></a><!-- doxytag: member="boost::xint::shift_left" ref="a1b096bd6583148b84b5f8020dfad4865" args="(const fixed_integer&lt; Bits &gt; &amp;n, size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::shift_left </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Left-shift an integer by a specified number of bits. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to left-shift it.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00720">720</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a4bc41e443d230352f7c099e60f4056f4"></a><!-- doxytag: member="boost::xint::shift_left" ref="a4bc41e443d230352f7c099e60f4056f4" args="(const nothrow_integer &amp;n, size_t byBits)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3873,7 +5739,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Left-shift an integer by a specified number of bits. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Left-shift an integer by a specified number of bits. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to left-shift it.</td></tr>
@@ -3911,6 +5780,9 @@
 <div class="memdoc">
 
 <p>Left-shift an integer by a specified number of bits. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
@@ -3922,6 +5794,49 @@
 
 </div>
 </div>
+<a class="anchor" id="aa01c60a4f969a7df6368f5c82695824c"></a><!-- doxytag: member="boost::xint::shift_right" ref="aa01c60a4f969a7df6368f5c82695824c" args="(const fixed_integer&lt; Bits &gt; &amp;n, size_t byBits)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::shift_right </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Right-shift an integer by a specified number of bits. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to right-shift it.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00728">728</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a295196e5fa8931578d27468cb5154f07"></a><!-- doxytag: member="boost::xint::shift_right" ref="a295196e5fa8931578d27468cb5154f07" args="(const nothrow_integer &amp;n, size_t byBits)" -->
 <div class="memitem">
 <div class="memproto">
@@ -3946,7 +5861,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Right-shift an integer by a specified number of bits. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Right-shift an integer by a specified number of bits. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to right-shift it.</td></tr>
@@ -3984,6 +5902,9 @@
 <div class="memdoc">
 
 <p>Right-shift an integer by a specified number of bits. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
@@ -3995,6 +5916,39 @@
 
 </div>
 </div>
+<a class="anchor" id="a041e980b0d5d3f48cd94bec1fb6d42a5"></a><!-- doxytag: member="boost::xint::sqr" ref="a041e980b0d5d3f48cd94bec1fb6d42a5" args="(const fixed_integer&lt; Bits &gt; &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::sqr </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the value of n<sup>2</sup> <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> times <code>n</code>.</dd></dl>
+<p>This function uses a faster algorithm than the standard multiplication one. </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00582">582</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="afbba1eeb86e4e7610a75afbb89d594e3"></a><!-- doxytag: member="boost::xint::sqr" ref="afbba1eeb86e4e7610a75afbb89d594e3" args="(const integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -4012,6 +5966,9 @@
 <div class="memdoc">
 
 <p>Calculate the value of n<sup>2</sup> </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
@@ -4019,8 +5976,7 @@
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> times <code>n</code>.</dd></dl>
-<p>This function uses a faster algorithm than the standard multiplication one.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Rewrite this to eliminate the inefficient addOverflow. </dd></dl>
+<p>This function uses a faster algorithm than the standard multiplication one. </p>
 
 </div>
 </div>
@@ -4039,16 +5995,62 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the value of n<sup>2</sup> <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the value of n<sup>2</sup> <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> times <code>n</code>.</dd></dl>
-<p>This function uses a faster algorithm than the standard multiplication one.<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Rewrite this to eliminate the inefficient addOverflow. </dd></dl>
+<p>This function uses a faster algorithm than the standard multiplication one. </p>
+
+</div>
+</div>
+<a class="anchor" id="a35ff2132479ee8c99dd8017af679828e"></a><!-- doxytag: member="boost::xint::sqrmod" ref="a35ff2132479ee8c99dd8017af679828e" args="(const fixed_integer&lt; Bits &gt; &amp;n, const fixed_integer&lt; Bits &gt; &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::sqrmod </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the modular product of squaring an integer. <ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to square. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>sqr(n)</code> % <code>m</code>.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
  </p>
 
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00753">753</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
 </div>
 </div>
 <a class="anchor" id="ae64aa02c6217ea9f53f25d4f44ddddd1"></a><!-- doxytag: member="boost::xint::sqrmod" ref="ae64aa02c6217ea9f53f25d4f44ddddd1" args="(const nothrow_integer &amp;n, const nothrow_integer &amp;m)" -->
@@ -4075,7 +6077,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Get the modular product of squaring an integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Get the modular product of squaring an integer. <ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to square. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
@@ -4114,6 +6119,9 @@
 <div class="memdoc">
 
 <p>Get the modular product of squaring an integer. </p>
+<ul>
+<li>Complexity: O(2n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to square. </td></tr>
@@ -4126,6 +6134,45 @@
 
 </div>
 </div>
+<a class="anchor" id="a7516b17b5c54a012c9dbdc9a45e2142b"></a><!-- doxytag: member="boost::xint::sqrt" ref="a7516b17b5c54a012c9dbdc9a45e2142b" args="(const fixed_integer&lt; Bits &gt; &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::sqrt </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the square root of <code>an</code> integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The largest integer that, when squared, is less than or equal to <code>n</code>. If <code>n</code> is not a perfect square, then this value will not be the exact square root.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">exceptions::cannot_represent</a></em>&nbsp;</td><td>if <code>n</code> is negative. </td></tr>
+ </table>
+ </dd>
+</dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00616">616</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="afdf79cc57e434b9c7f4cb3b6bd68dbd6"></a><!-- doxytag: member="boost::xint::sqrt" ref="afdf79cc57e434b9c7f4cb3b6bd68dbd6" args="(const integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -4143,6 +6190,9 @@
 <div class="memdoc">
 
 <p>Calculate the square root of <code>an</code> integer. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
@@ -4174,21 +6224,66 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the square root of <code>an</code> integer. <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>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The largest integer that, when squared, is less than or equal to <code>n</code>. If <code>n</code> is not a perfect square, then this value will not be the exact square root.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
+<p>Calculate the square root of <code>an</code> integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The largest integer that, when squared, is less than or equal to <code>n</code>. If <code>n</code> is not a perfect square, then this value will not be the exact square root.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">exceptions::cannot_represent</a></em>&nbsp;</td><td>if <code>n</code> is negative. </td></tr>
+ </table>
+ </dd>
+</dl>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="a218c0f1ddaaa8c978b3f84219ef712d2"></a><!-- doxytag: member="boost::xint::subtract" ref="a218c0f1ddaaa8c978b3f84219ef712d2" args="(const fixed_integer&lt; Bits &gt; &amp;n1, const fixed_integer&lt; Bits &gt; &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::subtract </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Calculate the difference between two integers. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">exceptions::cannot_represent</a></em>&nbsp;</td><td>if <code>n</code> is negative. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
   </dd>
 </dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The difference between the parameters. </dd></dl>
  </p>
 
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00541">541</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
 </div>
 </div>
 <a class="anchor" id="a86eb0099596fe66bd46be244323f44e5"></a><!-- doxytag: member="boost::xint::subtract" ref="a86eb0099596fe66bd46be244323f44e5" args="(const integer &amp;n1, const integer &amp;n2)" -->
@@ -4217,6 +6312,9 @@
 <div class="memdoc">
 
 <p>Calculate the difference between two integers. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
@@ -4251,7 +6349,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Calculate the difference between two integers. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Calculate the difference between two integers. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
   </table>
@@ -4262,6 +6363,95 @@
 
 </div>
 </div>
+<a class="anchor" id="a27c1978abf1c401febe61285e8a3af0b"></a><!-- doxytag: member="boost::xint::swap" ref="a27c1978abf1c401febe61285e8a3af0b" args="(nothrow_integer &amp;left, nothrow_integer &amp;right)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::swap </td>
+ <td>(</td>
+ <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00357">357</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7832686d860601f27625d42b7532639e"></a><!-- doxytag: member="boost::xint::swap" ref="a7832686d860601f27625d42b7532639e" args="(integer &amp;left, integer &amp;right)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::swap </td>
+ <td>(</td>
+ <td class="paramtype">integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00289">289</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f5d22465d4dab8985c13479ec0e5e79"></a><!-- doxytag: member="boost::xint::swap" ref="a7f5d22465d4dab8985c13479ec0e5e79" args="(fixed_integer&lt; Bits &gt; &amp;left, fixed_integer&lt; Bits &gt; &amp;right)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::swap </td>
+ <td>(</td>
+ <td class="paramtype">fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00837">837</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="ad8a1d63acfebbbdfce1047c966682a93"></a><!-- doxytag: member="boost::xint::to" ref="ad8a1d63acfebbbdfce1047c966682a93" args="(const nothrow_integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -4298,10 +6488,10 @@
   </table>
   </dd>
 </dl>
-</p>
+ </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns T(0) instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4344,67 +6534,205 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00286">286</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00268">268</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a0602566ae765c905b4ff84275334a112"></a><!-- doxytag: member="boost::xint::to_binary" ref="a0602566ae765c905b4ff84275334a112" args="(const nothrow_integer &amp;n)" -->
+<a class="anchor" id="a2078ed71644ee71a1ce2e616d28e5baa"></a><!-- doxytag: member="boost::xint::to" ref="a2078ed71644ee71a1ce2e616d28e5baa" args="(const fixed_integer&lt; Bits &gt; &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits, typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::string boost::xint::to_binary </td>
+ <td class="memname">T boost::xint::to </td>
           <td>(</td>
- <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramtype">const fixed_integer&lt; Bits &gt; &amp;&nbsp;</td>
           <td class="paramname"> <em>n</em></td>
           <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Efficiently converts from an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">xint::integer</a> to a built-in integer type. <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>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type to convert it to.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The numeric value of <code>n</code>, converted to the specified type.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">exceptions::too_big</a></em>&nbsp;</td><td>if <code>n</code> would not fit into the specified type. </td></tr>
+ </table>
+ </dd>
+</dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00624">624</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2691e17588d7a0bb6614d5bdeb66cd4c"></a><!-- doxytag: member="boost::xint::to_binary" ref="a2691e17588d7a0bb6614d5bdeb66cd4c" args="(const fixed_integer_any &amp;n, size_t bits)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t Bits&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> boost::xint::to_binary </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Creates a binary representation of an integer. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits to pack into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the binary representation, lowest byte first.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This function only stores the absolute value of <code>n</code>; if you need the sign, you must store it separately.</dd></dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>A binary representation is sometimes used for persistent storage or transmission, as it is more space-efficient than a string representation.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">xint::from_binary</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">xint::fixed_from_binary</a> </dd></dl>
+ </p>
+
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00638">638</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6b8b0fa807a6a216314af2b4bcca45d"></a><!-- doxytag: member="boost::xint::to_binary" ref="ac6b8b0fa807a6a216314af2b4bcca45d" args="(const nothrow_integer &amp;n, size_t bits)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> boost::xint::to_binary </td>
+ <td>(</td>
+ <td class="paramtype">const nothrow_integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Creates a binary representation of an integer, lowest byte first. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Creates a binary representation of an integer. <ul>
+<li>Complexity: O(n)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits to pack into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the binary representation, lowest byte first.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing the binary representation.</dd></dl>
 <dl class="note"><dt><b>Note:</b></dt><dd>This function only stores the absolute value of <code>n</code>; if you need the sign, you must store it separately.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>A binary representation is sometimes used for persistent storage or transmission, as it is more space-efficient than a string representation.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e" title="Converts a binary representation of a number into an integer.">xint::from_binary</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">xint::from_binary</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">xint::fixed_from_binary</a> </dd></dl>
 </p>
-<dl class="user"><dt><b>Returns an empty std::string instead of throwing.</b></dt><dd></dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>Returns an empty <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> instead of throwing. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="a19124d8eeee95cc7ff1e348c36250eea"></a><!-- doxytag: member="boost::xint::to_binary" ref="a19124d8eeee95cc7ff1e348c36250eea" args="(const integer &amp;n)" -->
+<a class="anchor" id="a61303b2b007d23cc8c9b7450c848c14d"></a><!-- doxytag: member="boost::xint::to_binary" ref="a61303b2b007d23cc8c9b7450c848c14d" args="(const integer &amp;n, size_t bits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">std::string boost::xint::to_binary </td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> boost::xint::to_binary </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
           <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Creates a binary representation of an integer, lowest byte first. </p>
+<p>Creates a binary representation of an integer. </p>
+<ul>
+<li>Complexity: O(n)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The number of bits to pack into each character (for portability with systems that might not have characters with the same number of bits), or zero (the default) to assume the number of bits in the current system's unsigned character type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An <code><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a></code> containing the binary representation, lowest byte first.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>bits</code> is greater than the number of bits in an unsigned character.</td></tr>
   </table>
   </dd>
 </dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing the binary representation.</dd></dl>
 <dl class="note"><dt><b>Note:</b></dt><dd>This function only stores the absolute value of <code>n</code>; if you need the sign, you must store it separately.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>A binary representation is sometimes used for persistent storage or transmission, as it is more space-efficient than a string representation.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e" title="Converts a binary representation of a number into an integer.">xint::from_binary</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">xint::from_binary</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#af792bffef18de798c1b37be425baaa61">xint::fixed_from_binary</a> </dd></dl>
 
 </div>
 </div>
@@ -4438,7 +6766,10 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Creates a string representation of the specified integer. <dl><dt><b>Parameters:</b></dt><dd>
+<p>Creates a string representation of the specified integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base, between 2 and 36 inclusive, to convert it to. Defaults to base 10. </td></tr>
@@ -4460,6 +6791,60 @@
 
 </div>
 </div>
+<a class="anchor" id="a185dd459850bfd588a4a9b3c67e8c09c"></a><!-- doxytag: member="boost::xint::to_string" ref="a185dd459850bfd588a4a9b3c67e8c09c" args="(const fixed_integer_any &amp;n, size_t base, bool uppercase)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string boost::xint::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const fixed_integer_any &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>uppercase</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Creates a string representation of the specified integer. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base, between 2 and 36 inclusive, to convert it to. Defaults to base 10. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>uppercase</em>&nbsp;</td><td>Whether to make alphabetic characters (for bases greater than ten) uppercase or not. Defaults to <code>false</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The string value of <code>n</code>.</dd></dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if base is less than two or greater than 36.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when you ask the library to write an integer to a stream, but it's more flexible because you can specify any base between 2 and 36. (Streams only allow base-8, base-10, or base-16.) </dd></dl>
+</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>
+
+</div>
+</div>
 <a class="anchor" id="ac0454fdc47e70a493c7bf5d92dda33d4"></a><!-- doxytag: member="boost::xint::to_string" ref="ac0454fdc47e70a493c7bf5d92dda33d4" args="(const integer &amp;n, size_t base, bool uppercase)" -->
 <div class="memitem">
 <div class="memproto">
@@ -4492,6 +6877,9 @@
 <div class="memdoc">
 
 <p>Creates a string representation of the specified integer. </p>
+<ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
@@ -4554,9 +6942,9 @@
 <p>A value that can be used for the 'base' parameter of the string-to-integer functions </p>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8" title="Create an integer from a string representation.">xint::integer::integer(const std::string&amp; str, size_t base)</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">xint::from_string</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">xint::from_string</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00144">144</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00083">83</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -4575,12 +6963,12 @@
 <dd>
 <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00139">139</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00078">78</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/namespaceboost_1_1xint_1_1blockable.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1blockable.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,322 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::blockable Namespace 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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace 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_1blockable.html">blockable</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::blockable Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a9446f097db7b77c04212d7f35f175995">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a43c166834c838c500713c571ff49ae7c">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#adde448bbc07e4a347dc78c74fcc8ddbf">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aa5b674570d38ee92b7ed20aec2eedbeb">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a45485a6d3b99c83332836a100e3159e0">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a13908294b14450d3a12181f8f245baea">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aab0835691ea26d99726423b8456c8dce">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac5d01d4cfdb9adfc4d466811477b4927">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aabec559201c8efd77965ee8b6f07a4ca">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n2)</td></tr>
-</table>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a13908294b14450d3a12181f8f245baea"></a><!-- doxytag: member="boost::xint::blockable::operator%" ref="a13908294b14450d3a12181f8f245baea" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator% </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00031">31</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aab0835691ea26d99726423b8456c8dce"></a><!-- doxytag: member="boost::xint::blockable::operator&amp;" ref="aab0835691ea26d99726423b8456c8dce" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator&amp; </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00032">32</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa5b674570d38ee92b7ed20aec2eedbeb"></a><!-- doxytag: member="boost::xint::blockable::operator*" ref="aa5b674570d38ee92b7ed20aec2eedbeb" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator* </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00029">29</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a43c166834c838c500713c571ff49ae7c"></a><!-- doxytag: member="boost::xint::blockable::operator+" ref="a43c166834c838c500713c571ff49ae7c" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00027">27</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9446f097db7b77c04212d7f35f175995"></a><!-- doxytag: member="boost::xint::blockable::operator+" ref="a9446f097db7b77c04212d7f35f175995" args="(const integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&amp; boost::xint::blockable::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00025">25</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adde448bbc07e4a347dc78c74fcc8ddbf"></a><!-- doxytag: member="boost::xint::blockable::operator&#45;" ref="adde448bbc07e4a347dc78c74fcc8ddbf" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00028">28</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aad0456bbbfcf1385355baef6ed7ee368"></a><!-- doxytag: member="boost::xint::blockable::operator&#45;" ref="aad0456bbbfcf1385355baef6ed7ee368" args="(const integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00026">26</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a45485a6d3b99c83332836a100e3159e0"></a><!-- doxytag: member="boost::xint::blockable::operator/" ref="a45485a6d3b99c83332836a100e3159e0" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator/ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00030">30</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aabec559201c8efd77965ee8b6f07a4ca"></a><!-- doxytag: member="boost::xint::blockable::operator^" ref="aabec559201c8efd77965ee8b6f07a4ca" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator^ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00034">34</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac5d01d4cfdb9adfc4d466811477b4927"></a><!-- doxytag: member="boost::xint::blockable::operator|" ref="ac5d01d4cfdb9adfc4d466811477b4927" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::blockable::operator| </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="blockable__operators_8cpp_source.html#l00033">33</a> of file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 01:43:38 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/namespaceboost_1_1xint_1_1core.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1core.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,2384 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::core Namespace 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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace 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_1core.html">core</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::core Namespace Reference</h1>
-<p>Contains the "pure" integer type, and functions to operate on it.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The core integer class. More...<br/></td></tr>
-<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">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778">setbit</a> (<a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f">bitwise_and</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a04384ebf492038c4ba83af9736412c9b">bitwise_or</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a86446e5e38a977b68f041dfa4b82a385">bitwise_xor</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a">shift</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc">shift_left</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253">shift_right</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &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 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_1core.html#a37bbe9d9165afb0a3f20df233a9db07f">compare</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two integer objects. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab914d21c7168f03fc844746be068bf25">gcd</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Greatest Common Denominator of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ad8783802f3252c9c3143eaca76acd9a6">lcm</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Least Common Multiple of two integers. <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#aa3924902931d74fe0a7d2c6daf9ab028">log2</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the log<sub>2</sub> value of an integer. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
-</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#aa86f6238d476cfdb8f534a8cb289a7e5">operator!</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab91cfea31de4287970ae678b4a951a13">operator==</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a422409aa6897f3169f9be22fba746466">operator!=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ad66c54269633ec8a0609bafecad430dc">operator&lt;</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ae4725524123f4ba5544d47cce68606fb">operator&gt;</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a5548f1bea201f1de80fc3d847d58d8d7">operator&lt;=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#acd8e6b8505268237b7fe55bea9a23b2e">operator&gt;=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">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="namespaceboost_1_1xint_1_1core.html#a0e26ec58adc380b930eb3c47723a7d6a">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a94dda733eac933cee9a5e307ba030b88">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a017539f78cba665d5cbb6b6ba00e1d42">operator+</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#af4587327ba62268fe3267ca09bd8f4a2">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#abc738f0d18724bbdda6d956dabd77b0c">operator*</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9704cdf0b9adc7cca4118b2e20737a65">operator/</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#abd7c9499bde867d7b8c7eae5b08bd54d">operator%</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a3913ac27d582f4f5c162cd2c763b91a1">operator&amp;</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a3124de335da66bcf5a4141dccc1a9458">operator|</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a2c93fc2437215ef1e54c67276bfde742">operator^</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n2)</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_1core.html#a28e4e76808cb1a05102e9c3d66fe0027">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, size_t base, bool uppercase)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#adaa2e5c8f2ff92faee861a68bc7e4cca">from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a string into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a626c8b1f3bd3f6b03a18412c8419bad8">from_binary</a> (const std::string &amp;str)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a binary representation of a number into an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a32564e3da6e4e65ae8b937614cdca95c">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer, lowest byte first. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a2cc4b19211f94878d3fe4fc50dbe24a3">to</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficiently converts from an xint::integer to a built-in integer type. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a4cbae3e54ac73cfb3573c4e4f316abe4">invmod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular inverse of a number in a modulus, if there is one. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ae02fe53b2dc0340dcd66c44e689e7338">mod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the remainder after dividing a number by another. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a46494daacb938b204aba5a5a3d957e3a">mulmod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;by, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#abaf712bcc261145845c49e2e07a8c23c">sqrmod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the modular product of squaring an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a6d465ee56d6ba0263ac4648bd8b68bc4">powmod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m, bool noMontgomery)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aa6942deffea28a32072479fe663acaa2">inverse0</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aff045b62b20e88d2e086dd64dcbba02e">montgomeryR</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a4a33279cf67c53f80a4e5935f0515d4d">toMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a1d598caa371e7bffba98f78df726674e">fromMontgomeryForm</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a902d87635063ba89629799b032e6a53d">montgomeryMultiplyMod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a407dceba39038bf606814ea84ff4d964">montgomeryPowerMod</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td 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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a72afdedb16eff4404641511681e08116">pow2</a> (size_t e)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9bd005ab3992dc51d6c95fdee987f2fe">sqr</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a4bf3bb563c2a9a3c1dd98f8975253a30">pow</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;e)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab82432c3d99638bb2f56304cf44a405a">factorial</a> (size_t n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9ebf35bf53baa1eddf9a84dc719a5d15">sqrt</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> integer. <br/></td></tr>
-<tr><td 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_1core.html#a79626b71d9ebb21c2c07e105c8b1ad89">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a5f117503768fded4de58ded6d0c5513e">random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">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"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab1b84a6eb65676fdb85e71c1fe06e792">abs</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a0103381c7bca2e5a904ad3b75904e982">negate</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aa8ac1151e65f51b3dca51e827c29af66">add</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aa1d93a8d3a437f7b9df70ea00d48f355">subtract</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a1a4424b4d8b045a3484463e588368593">multiply</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;by)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ad09c66a61457feb23505d26adc116530">divide</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;dividend, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;divisor)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>, <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a731b3943a2e1bc95ec34a32291754ad4">divide_r</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;d1, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;d2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ace96723bc59d89473ab9c750330d4451">random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
-</div></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#af8fd339a3a68d1de9d8c3991c4952835">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a39b5e2f0e689ba91809cc1eaebe40428">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;n)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the "pure" integer type, and functions to operate on it. </p>
-<p>The types and functions in the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the &quot;pure&quot; integer type, and functions to operate on it.">xint::core</a> namespace ignore exception-blocking and do not support the Not-a-Number value. If you attempt to assign a Not-a-Number to a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>, it will throw a not_a_number exception. </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ab1b84a6eb65676fdb85e71c1fe06e792"></a><!-- doxytag: member="boost::xint::core::abs" ref="ab1b84a6eb65676fdb85e71c1fe06e792" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::abs </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the absolute value of an integer. </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>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa8ac1151e65f51b3dca51e827c29af66"></a><!-- doxytag: member="boost::xint::core::add" ref="aa8ac1151e65f51b3dca51e827c29af66" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::add </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the sum of two integers. </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>n1,n2</em>&nbsp;</td><td>The integers to add.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aab6badbf5997e33714d0dbe54c16375f"></a><!-- doxytag: member="boost::xint::core::bitwise_and" ref="aab6badbf5997e33714d0dbe54c16375f" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::bitwise_and </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Combine two integers using a bitwise <code>AND</code> operation. </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>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in both parameters turned on. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a04384ebf492038c4ba83af9736412c9b"></a><!-- doxytag: member="boost::xint::core::bitwise_or" ref="a04384ebf492038c4ba83af9736412c9b" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::bitwise_or </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Combine two integers using a bitwise <code>OR</code> operation. </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>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter turned on. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a86446e5e38a977b68f041dfa4b82a385"></a><!-- doxytag: member="boost::xint::core::bitwise_xor" ref="a86446e5e38a977b68f041dfa4b82a385" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::bitwise_xor </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Combine two integers using a bitwise <code>XOR</code> operation. </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>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="abd43d348da182e32e931743d1837f849"></a><!-- doxytag: member="boost::xint::core::clearbit" ref="abd43d348da182e32e931743d1837f849" args="(integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::clearbit </td>
- <td>(</td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Sets a specific bit in an integer to zero. </p>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a37bbe9d9165afb0a3f20df233a9db07f"></a><!-- doxytag: member="boost::xint::core::compare" ref="a37bbe9d9165afb0a3f20df233a9db07f" args="(const integer &amp;b1, const integer &amp;b2, bool ignoresign)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int boost::xint::core::compare </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Compare two integer objects. </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>b1,b2</em>&nbsp;</td><td>The integers to compare. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ignoresign</em>&nbsp;</td><td>If <code>true</code>, the absolute values of b1 and b2 are compared, instead of their signed values. Used internally.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A negative number if <code>b1</code> &lt; <code>b2</code>; zero if <code>b1</code> == <code>b2</code>, or a positive number if <code>b1</code> &gt; <code>b2</code>.</dd></dl>
-<p>This is the function behind all of the comparison operators. It might sometimes be useful directly as well. </p>
-
-</div>
-</div>
-<a class="anchor" id="ad09c66a61457feb23505d26adc116530"></a><!-- doxytag: member="boost::xint::core::divide" ref="ad09c66a61457feb23505d26adc116530" args="(const integer &amp;dividend, const integer &amp;divisor)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::divide </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>dividend</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</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>dividend,divisor</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The integer value of <code>dividend</code> divided by <code>divisor</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html">exception::divide_by_zero</a></em>&nbsp;</td><td>if <code>divisor</code> is zero. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="a731b3943a2e1bc95ec34a32291754ad4"></a><!-- doxytag: member="boost::xint::core::divide_r" ref="a731b3943a2e1bc95ec34a32291754ad4" args="(const integer &amp;d1, const integer &amp;d2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::pair&lt; <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a>, <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &gt; boost::xint::core::divide_r </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. </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>d1</em>&nbsp;</td><td>The dividend. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>d2</em>&nbsp;</td><td>The divisor.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An <code>std::pair</code> containing the quotient and remainder of <code>d1</code> divided by <code>d2</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html">exception::divide_by_zero</a></em>&nbsp;</td><td>if <code>d2</code> is zero. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="ab82432c3d99638bb2f56304cf44a405a"></a><!-- doxytag: member="boost::xint::core::factorial" ref="ab82432c3d99638bb2f56304cf44a405a" args="(size_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::factorial </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the value of <code>n!</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>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> factorial, defined as <code>1*2*3*...*n</code></dd></dl>
-<dl class="warning"><dt><b>Warning:</b></dt><dd>Factorials get ridiculously huge, even with fairly small values of <code>n</code>. This function, when used with a large parameter, is the easiest way to exhaust the system's memory. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a626c8b1f3bd3f6b03a18412c8419bad8"></a><!-- doxytag: member="boost::xint::core::from_binary" ref="a626c8b1f3bd3f6b03a18412c8419bad8" args="(const std::string &amp;str)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::from_binary </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Converts a binary representation of a number into an integer. </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>str</em>&nbsp;</td><td>An <code>std::string</code> containing the bytes to convert, lowest byte first.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer representing the bytes.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd>xint::to_binary </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="adaa2e5c8f2ff92faee861a68bc7e4cca"></a><!-- doxytag: member="boost::xint::core::from_string" ref="adaa2e5c8f2ff92faee861a68bc7e4cca" args="(const std::string &amp;str, size_t base)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::from_string </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Converts a string into an integer. </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>str</em>&nbsp;</td><td>The string to convert. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>the base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>An integer with the numeric value of the string in base <code>base</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1overflow__error.html">exception::overflow_error</a></em>&nbsp;</td><td>if there is not enough free memory to create the integer. </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 is the function that's called when reading an integer from a stream, or when contructing one from a string.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f" title="Create an integer from a string representation.">integer::integer(const std::string&amp; str, size_t base)</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a1d598caa371e7bffba98f78df726674e"></a><!-- doxytag: member="boost::xint::core::fromMontgomeryForm" ref="a1d598caa371e7bffba98f78df726674e" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::fromMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the integer from the Montgomery form of a number. Used for testing. </p>
-
-</div>
-</div>
-<a class="anchor" id="ab914d21c7168f03fc844746be068bf25"></a><!-- doxytag: member="boost::xint::core::gcd" ref="ab914d21c7168f03fc844746be068bf25" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::gcd </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the Greatest Common Denominator of two integers. </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>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The greatest common denominator of the two integers, which will always be a positive number. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a06f4b3f75bb5e648e865f20990f8154c"></a><!-- doxytag: member="boost::xint::core::getbit" ref="a06f4b3f75bb5e648e865f20990f8154c" args="(const integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::getbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Queries the value of a particular bit in an integer. </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>n</em>&nbsp;</td><td>The integer to query. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit you're asking about.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the specified bit is set (has a value of one), <code>false</code> if it is clear. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a2a32641fadc89dc7385b2f1a0af862dc"></a><!-- doxytag: member="boost::xint::core::highestbit" ref="a2a32641fadc89dc7385b2f1a0af862dc" args="(const integer &amp;n, size_t valueIfZero)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::highestbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Obtains the index of the highest bit in an integer with a value of one. </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>n</em>&nbsp;</td><td>The integer to query. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the highest one-bit in the integer, or <code>valueIfZero</code> if the integer contains no set bits. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa6942deffea28a32072479fe663acaa2"></a><!-- doxytag: member="boost::xint::core::inverse0" ref="aa6942deffea28a32072479fe663acaa2" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::core::inverse0 </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the low digit of the inverse of a number. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="a4cbae3e54ac73cfb3573c4e4f316abe4"></a><!-- doxytag: member="boost::xint::core::invmod" ref="a4cbae3e54ac73cfb3573c4e4f316abe4" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::invmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the modular inverse of a number in a modulus, if there is one. </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>n</em>&nbsp;</td><td>The number to retrieve the inverse of. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus to use.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The modular inverse of <code>n</code> in <code>m</code>. If <code>n</code> has no modular inverse in <code>m</code>, returns zero.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html">exception::invalid_modulus</a></em>&nbsp;</td><td>if the modulus is less than one. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="a79626b71d9ebb21c2c07e105c8b1ad89"></a><!-- doxytag: member="boost::xint::core::is_prime" ref="a79626b71d9ebb21c2c07e105c8b1ad89" args="(const integer &amp;n, callback_t callback)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int boost::xint::core::is_prime </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">callback_t&nbsp;</td>
- <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests an integer for primality. </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>n</em>&nbsp;</td><td>The number to test. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>1 if <code>n</code> seems to be prime, 0 if it isn't, or -1 if the provided callback function cancelled the operation.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">exception::invalid_argument</a></em>&nbsp;</td><td>if <code>n</code> is less than 2.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the Rabin-Miller probabilistic primality test. There is an infinitesimally small chance that it will think that a composite number is actually prime, but that is so small that it can be ignored for most practical purposes. If even that chance is too much, you can run this function over the number several times, it will use different random "witness" numbers each time.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ad8783802f3252c9c3143eaca76acd9a6"></a><!-- doxytag: member="boost::xint::core::lcm" ref="ad8783802f3252c9c3143eaca76acd9a6" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::lcm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the Least Common Multiple of two integers. </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>num1,num2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The least common multiple of the two integers. If either integer is zero, then the return value will be zero, by convention; in all other cases, the return value will be a positive number. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa3924902931d74fe0a7d2c6daf9ab028"></a><!-- doxytag: member="boost::xint::core::log2" ref="aa3924902931d74fe0a7d2c6daf9ab028" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::log2 </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the log<sub>2</sub> value of an integer. </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>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The integer log<sub>2</sub> value of the integer.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd><a class="el" href="namespaceboost_1_1xint_1_1core.html#a72afdedb16eff4404641511681e08116" title="Calculate the value of 2e">pow2</a>(log2(n)-1) will give you an integer with the highest set bit of <code>n</code>, assuming that <code>n</code> is non-zero.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>Similar to the <a class="el" 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> function. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="afbb649428a445bd8a6e7d9bcfab69707"></a><!-- doxytag: member="boost::xint::core::lowestbit" ref="afbb649428a445bd8a6e7d9bcfab69707" args="(const integer &amp;n, size_t valueIfZero)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::lowestbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>valueIfZero</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Obtains the index of the lowest bit in an integer with a value of one. </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>n</em>&nbsp;</td><td>The integer to query. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>valueIfZero</em>&nbsp;</td><td>The value to return if <code>n</code> is zero (as there is no correct answer in that case).</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the lowest one-bit in the integer, or <code>valueIfZero</code> if the integer contains no set bits. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ae02fe53b2dc0340dcd66c44e689e7338"></a><!-- doxytag: member="boost::xint::core::mod" ref="ae02fe53b2dc0340dcd66c44e689e7338" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::mod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the remainder after dividing a number by another. </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>n</em>&nbsp;</td><td>The dividend. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The divisor.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>n</code> % <code>m</code>. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a902d87635063ba89629799b032e6a53d"></a><!-- doxytag: member="boost::xint::core::montgomeryMultiplyMod" ref="a902d87635063ba89629799b032e6a53d" args="(const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::montgomeryMultiplyMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>nPrime0</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="a407dceba39038bf606814ea84ff4d964"></a><!-- doxytag: member="boost::xint::core::montgomeryPowerMod" ref="a407dceba39038bf606814ea84ff4d964" args="(const integer &amp;a, const integer &amp;e, const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::montgomeryPowerMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="aff045b62b20e88d2e086dd64dcbba02e"></a><!-- doxytag: member="boost::xint::core::montgomeryR" ref="aff045b62b20e88d2e086dd64dcbba02e" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::montgomeryR </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the most efficient R value for a number and the library's internal representation. Used internally. </p>
-
-</div>
-</div>
-<a class="anchor" id="a46494daacb938b204aba5a5a3d957e3a"></a><!-- doxytag: member="boost::xint::core::mulmod" ref="a46494daacb938b204aba5a5a3d957e3a" args="(const integer &amp;n, const integer &amp;by, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::mulmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>by</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the modular product of two integers. </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>n,by</em>&nbsp;</td><td>The integers to multiply. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>n</code> * <code>by</code> % <code>m</code>.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a1a4424b4d8b045a3484463e588368593"></a><!-- doxytag: member="boost::xint::core::multiply" ref="a1a4424b4d8b045a3484463e588368593" args="(const integer &amp;n, const integer &amp;by)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::multiply </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>by</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the product of two integers. </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>n,by</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The product of the parameters.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Automatically uses the more-efficient squaring algorithm if it can trivially detect that the two parameters are copies of the same number. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0103381c7bca2e5a904ad3b75904e982"></a><!-- doxytag: member="boost::xint::core::negate" ref="a0103381c7bca2e5a904ad3b75904e982" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::negate </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Return the additive inverse of an integer. </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>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>-n</code>. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa86f6238d476cfdb8f534a8cb289a7e5"></a><!-- doxytag: member="boost::xint::core::operator!" ref="aa86f6238d476cfdb8f534a8cb289a7e5" args="(const integer &amp;num1)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator! </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a422409aa6897f3169f9be22fba746466"></a><!-- doxytag: member="boost::xint::core::operator!=" ref="a422409aa6897f3169f9be22fba746466" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator!= </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abd7c9499bde867d7b8c7eae5b08bd54d"></a><!-- doxytag: member="boost::xint::core::operator%" ref="abd7c9499bde867d7b8c7eae5b08bd54d" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator% </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3913ac27d582f4f5c162cd2c763b91a1"></a><!-- doxytag: member="boost::xint::core::operator&amp;" ref="a3913ac27d582f4f5c162cd2c763b91a1" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator&amp; </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abc738f0d18724bbdda6d956dabd77b0c"></a><!-- doxytag: member="boost::xint::core::operator*" ref="abc738f0d18724bbdda6d956dabd77b0c" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator* </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a017539f78cba665d5cbb6b6ba00e1d42"></a><!-- doxytag: member="boost::xint::core::operator+" ref="a017539f78cba665d5cbb6b6ba00e1d42" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0e26ec58adc380b930eb3c47723a7d6a"></a><!-- doxytag: member="boost::xint::core::operator+" ref="a0e26ec58adc380b930eb3c47723a7d6a" args="(const integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp; boost::xint::core::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af4587327ba62268fe3267ca09bd8f4a2"></a><!-- doxytag: member="boost::xint::core::operator&#45;" ref="af4587327ba62268fe3267ca09bd8f4a2" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a94dda733eac933cee9a5e307ba030b88"></a><!-- doxytag: member="boost::xint::core::operator&#45;" ref="a94dda733eac933cee9a5e307ba030b88" args="(const integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9704cdf0b9adc7cca4118b2e20737a65"></a><!-- doxytag: member="boost::xint::core::operator/" ref="a9704cdf0b9adc7cca4118b2e20737a65" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator/ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad66c54269633ec8a0609bafecad430dc"></a><!-- doxytag: member="boost::xint::core::operator&lt;" ref="ad66c54269633ec8a0609bafecad430dc" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator&lt; </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af8fd339a3a68d1de9d8c3991c4952835"></a><!-- doxytag: member="boost::xint::core::operator&lt;&lt;" ref="af8fd339a3a68d1de9d8c3991c4952835" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; boost::xint::core::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00871">871</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5548f1bea201f1de80fc3d847d58d8d7"></a><!-- doxytag: member="boost::xint::core::operator&lt;=" ref="a5548f1bea201f1de80fc3d847d58d8d7" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator&lt;= </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab91cfea31de4287970ae678b4a951a13"></a><!-- doxytag: member="boost::xint::core::operator==" ref="ab91cfea31de4287970ae678b4a951a13" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator== </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae4725524123f4ba5544d47cce68606fb"></a><!-- doxytag: member="boost::xint::core::operator&gt;" ref="ae4725524123f4ba5544d47cce68606fb" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator&gt; </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="acd8e6b8505268237b7fe55bea9a23b2e"></a><!-- doxytag: member="boost::xint::core::operator&gt;=" ref="acd8e6b8505268237b7fe55bea9a23b2e" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::core::operator&gt;= </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a39b5e2f0e689ba91809cc1eaebe40428"></a><!-- doxytag: member="boost::xint::core::operator&gt;&gt;" ref="a39b5e2f0e689ba91809cc1eaebe40428" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; boost::xint::core::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00897">897</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2c93fc2437215ef1e54c67276bfde742"></a><!-- doxytag: member="boost::xint::core::operator^" ref="a2c93fc2437215ef1e54c67276bfde742" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator^ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3124de335da66bcf5a4141dccc1a9458"></a><!-- doxytag: member="boost::xint::core::operator|" ref="a3124de335da66bcf5a4141dccc1a9458" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::operator| </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4bf3bb563c2a9a3c1dd98f8975253a30"></a><!-- doxytag: member="boost::xint::core::pow" ref="a4bf3bb563c2a9a3c1dd98f8975253a30" args="(const integer &amp;n, const integer &amp;e)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::pow </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the value of n<sup>e</sup> </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>n,e</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> to the power of <code>e</code>. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a72afdedb16eff4404641511681e08116"></a><!-- doxytag: member="boost::xint::core::pow2" ref="a72afdedb16eff4404641511681e08116" args="(size_t e)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::pow2 </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>e</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the value of 2<sup>e</sup> </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>e</em>&nbsp;</td><td>The exponent to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>2 to the power of <code>e</code>.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is a convenience function, to help with self-documenting code. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6d465ee56d6ba0263ac4648bd8b68bc4"></a><!-- doxytag: member="boost::xint::core::powmod" ref="a6d465ee56d6ba0263ac4648bd8b68bc4" args="(const integer &amp;n, const integer &amp;e, const integer &amp;m, bool noMontgomery)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::powmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the result of <code>n<sup>e</sup></code> % <code>m</code>, keeping the intermediate results (relatively) small. </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>n</em>&nbsp;</td><td>The integer to exponentiate. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>e</em>&nbsp;</td><td>The exponent. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>noMontgomery</em>&nbsp;</td><td>Used for testing, leave false for normal operation.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>pow</code>(n, <code>exponent</code>) % <code>modulus</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html">exception::invalid_modulus</a></em>&nbsp;</td><td>if the modulus is less than one.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than writing out the equivalent calculations.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>In addition, this function will use the Montgomery Reduction internally, if the modulus is an odd number (and if <code>noMontgomery</code> isn't set), which is almost always faster than the non-Montgomery method. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ace96723bc59d89473ab9c750330d4451"></a><!-- doxytag: member="boost::xint::core::random_by_size" ref="ace96723bc59d89473ab9c750330d4451" args="(size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::random_by_size </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>high_bit_on</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>low_bit_on</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>can_be_negative</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Generates a random integer with specific attributes. </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>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>low_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will always be odd. If <code>false</code>, it has an equal chance of being odd or even. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>can_be_negative</em>&nbsp;</td><td>If <code>true</code>, the returned value has an equal chance of being positive or negative. If <code>false</code>, it will always be positive.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
-<dd>
-<a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a5f117503768fded4de58ded6d0c5513e"></a><!-- doxytag: member="boost::xint::core::random_prime" ref="a5f117503768fded4de58ded6d0c5513e" args="(size_t size_in_bits, callback_t callback)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::random_prime </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size_in_bits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">callback_t&nbsp;</td>
- <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Generate a randomly-generated prime number of a particular bit-size. </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>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A randomly-generated prime integer with the specified number of bits, or zero if the provided callback function cancelled the operation.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">exception::invalid_argument</a></em>&nbsp;</td><td>if <code>size_in_bits</code> is less than two.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This function uses xint::is_prime. See the description of it for details of its limitations.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>It also uses the library's currently-set random number generator. See the <a class="el" href="random.html">Random Number Functions page</a> for details on its limitations and requirements, and how to get cryptographically-secure random numbers.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aae966bbb23d33801b34108f4490b0778"></a><!-- doxytag: member="boost::xint::core::setbit" ref="aae966bbb23d33801b34108f4490b0778" args="(integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::setbit </td>
- <td>(</td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Sets a specific bit in an integer to one. </p>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bit</em>&nbsp;</td><td>The zero-based index of the bit to change.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ab5d1310559b3ac9857e3475889b06b1a"></a><!-- doxytag: member="boost::xint::core::shift" ref="ab5d1310559b3ac9857e3475889b06b1a" args="(const integer &amp;n, int byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::shift </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Bit-shift an integer, in either direction. </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>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to shift it. If positive, it will shift left, negative will shift right.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a51a385d6a7e71b555b152de0f40cd9fc"></a><!-- doxytag: member="boost::xint::core::shift_left" ref="a51a385d6a7e71b555b152de0f40cd9fc" args="(const integer &amp;n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::shift_left </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Left-shift an integer by a specified number of bits. </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>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to left-shift it.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac456d45328b682c029af422923298253"></a><!-- doxytag: member="boost::xint::core::shift_right" ref="ac456d45328b682c029af422923298253" args="(const integer &amp;n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::shift_right </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Right-shift an integer by a specified number of bits. </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>n</em>&nbsp;</td><td>The integer to operate on. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>byBits</em>&nbsp;</td><td>The number of bits to right-shift it.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9bd005ab3992dc51d6c95fdee987f2fe"></a><!-- doxytag: member="boost::xint::core::sqr" ref="a9bd005ab3992dc51d6c95fdee987f2fe" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::sqr </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the value of n<sup>2</sup> </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>n</em>&nbsp;</td><td>The integer to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> times <code>n</code>.</dd></dl>
-<p>This function uses a faster algorithm than the standard multiplication one.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Rewrite this to eliminate the inefficient addOverflow. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="abaf712bcc261145845c49e2e07a8c23c"></a><!-- doxytag: member="boost::xint::core::sqrmod" ref="abaf712bcc261145845c49e2e07a8c23c" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::sqrmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Get the modular product of squaring an integer. </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>n</em>&nbsp;</td><td>The integer to square. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>m</em>&nbsp;</td><td>The modulus.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>sqr(n)</code> % <code>m</code>.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9ebf35bf53baa1eddf9a84dc719a5d15"></a><!-- doxytag: member="boost::xint::core::sqrt" ref="a9ebf35bf53baa1eddf9a84dc719a5d15" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::sqrt </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the square root of <code>an</code> integer. </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>n</em>&nbsp;</td><td>The value to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The largest integer that, when squared, is less than or equal to <code>n</code>. If <code>n</code> is not a perfect square, then this value will not be the exact square root.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1cannot__represent.html">exception::cannot_represent</a></em>&nbsp;</td><td>if <code>n</code> is negative. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="aa1d93a8d3a437f7b9df70ea00d48f355"></a><!-- doxytag: member="boost::xint::core::subtract" ref="aa1d93a8d3a437f7b9df70ea00d48f355" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::subtract </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Calculate the difference between two integers. </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>n1,n2</em>&nbsp;</td><td>The integers to operate on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The difference between the parameters. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a2cc4b19211f94878d3fe4fc50dbe24a3"></a><!-- doxytag: member="boost::xint::core::to" ref="a2cc4b19211f94878d3fe4fc50dbe24a3" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">T boost::xint::core::to </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Efficiently converts from an xint::integer to a built-in integer type. </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>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type to convert it to.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The numeric value of <code>n</code>, converted to the specified type.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1too__big.html">exception::too_big</a></em>&nbsp;</td><td>if <code>n</code> would not fit into the specified type. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00853">853</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a32564e3da6e4e65ae8b937614cdca95c"></a><!-- doxytag: member="boost::xint::core::to_binary" ref="a32564e3da6e4e65ae8b937614cdca95c" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::string boost::xint::core::to_binary </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a binary representation of an integer, lowest byte first. </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>n</em>&nbsp;</td><td>The integer to convert.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing the binary representation.</dd></dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This function only stores the absolute value of <code>n</code>; if you need the sign, you must store it separately.</dd></dl>
-<dl class="user"><dt><b>If exceptions are blocked, returns an empty std::string instead of</b></dt><dd>throwing.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>A binary representation is sometimes used for persistent storage or transmission, as it is more space-efficient than a string representation.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd>xint::from_binary </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a28e4e76808cb1a05102e9c3d66fe0027"></a><!-- doxytag: member="boost::xint::core::to_string" ref="a28e4e76808cb1a05102e9c3d66fe0027" args="(const integer &amp;n, size_t base, bool uppercase)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::string boost::xint::core::to_string </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>uppercase</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a string representation of the specified integer. </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>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base, between 2 and 36 inclusive, to convert it to. Defaults to base 10. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>uppercase</em>&nbsp;</td><td>Whether to make alphabetic characters (for bases greater than ten) uppercase or not. Defaults to <code>false</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The string value of <code>n</code>.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">exception::invalid_base</a></em>&nbsp;</td><td>if base is less than two or greater than 36.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when you ask the library to write an integer to a stream, but it's more flexible because you can specify any base between 2 and 36. (Streams only allow base-8, base-10, or base-16.) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a4a33279cf67c53f80a4e5935f0515d4d"></a><!-- doxytag: member="boost::xint::core::toMontgomeryForm" ref="a4a33279cf67c53f80a4e5935f0515d4d" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> boost::xint::core::toMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Returns the Montgomery form of a number. Used for testing. </p>
-
-</div>
-</div>
-</div>
-<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>
-</html>

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

Deleted: sandbox/xint/doc/namespaceboost_1_1xint_1_1exception.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1exception.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exception Namespace 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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace 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>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::exception Namespace Reference</h1>
-<p>Every exception the library throws is from this namespace.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__argument.html">invalid_argument</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__base.html">invalid_base</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__digit.html">invalid_digit</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1invalid__modulus.html">invalid_modulus</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1divide__by__zero.html">divide_by_zero</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1cannot__represent.html">cannot_represent</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1too__big.html">too_big</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1not__a__number.html">not_a_number</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1no__strong__random.html">no_strong_random</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exception_1_1overflow__error.html">overflow_error</a></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Every exception the library throws is from this namespace. </p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on 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>

Modified: sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html (original)
+++ sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -33,21 +32,21 @@
 <a href="#_details">More...</a></p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Every exception the library throws is from this namespace. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers.html
==============================================================================
--- sandbox/xint/doc/namespacemembers.html (original)
+++ sandbox/xint/doc/namespacemembers.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -34,22 +33,23 @@
   </div>
   <div class="tabs">
     <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
+ <li class="current">a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
     </ul>
   </div>
 </div>
@@ -61,330 +61,25 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">boost::xint</a>
 </li>
 <li>add()
-: <a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">boost::xint</a>
+, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail</a>
+, <a class="el" href="namespaceboost_1_1xint.html#a74c947ce6c6d25b54c25b5c5427a9c62">boost::xint</a>
 </li>
 <li>allocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">boost::xint::detail</a>
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail</a>
 </li>
-<li>autobase
-: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>bits_per_digit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">boost::xint::detail</a>
-</li>
-<li>bitwise_and()
-: <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespaceboost_1_1xint.html#a1221efa42739f309024e1715adc58917">boost::xint</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>callback_t
-: <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
-</li>
-<li>clearbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>deallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">boost::xint::detail</a>
-</li>
-<li>digit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab7d9f30b8cad63e2e82998aa2e8d0fcd">boost::xint::detail</a>
-</li>
-<li>digit_mask
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aecc94d5cb515781b3a33ddf76884e8f5">boost::xint::detail</a>
-</li>
-<li>digit_overflowbit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail</a>
-</li>
-<li>digit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">boost::xint::detail</a>
-</li>
-<li>divide()
-: <a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">boost::xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">boost::xint</a>
-</li>
-<li>doubledigit_hibit
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail</a>
-</li>
-<li>doubledigit_t
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a4a5cc16afeb1b8f5c3f0e9585f8e7d23">boost::xint::detail</a>
-</li>
-<li>duplicate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a5e040a2d24aaf0c1d4b85fdd0721ee8e">boost::xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e">boost::xint</a>
+<li>allocate_fixed()
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail</a>
 </li>
-<li>from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
+<li>allocate_fixed_zero()
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail</a>
 </li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
-</li>
-<li>log2()
-: <a class="el" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">boost::xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a09477129544d4bdb08ddd63644683f5c">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a3deaa6f8a44d454129bb06691a6035c7">boost::xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan_text
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978">boost::xint::detail</a>
-</li>
-<li>negate()
-: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
-</li>
-<li>no_callback
-: <a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint</a>
-</li>
-<li>nothrow_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
-</li>
-<li>nothrow_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#ab6045aa842481c5175a2d2afbe018ff1">boost::xint</a>
-</li>
-<li>nothrow_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
-</li>
-<li>nothrow_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
-</li>
-<li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
-</li>
-<li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">boost::xint</a>
-</li>
-<li>operator!=()
-: <a class="el" href="namespaceboost_1_1xint.html#a43189615a1bfb4904c969efe846cefc6">boost::xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">boost::xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">boost::xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">boost::xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">boost::xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
-</li>
-<li>reallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">boost::xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespaceboost_1_1xint.html#ac76235b31dcadded8193443b78743948">boost::xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">boost::xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>to()
-: <a class="el" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">boost::xint</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a0602566ae765c905b4ff84275334a112">boost::xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint</a>
-</li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint</a>
+<li>autobase
+: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: sandbox/xint/doc/namespacemembers_func.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func.html (original)
+++ sandbox/xint/doc/namespacemembers_func.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -34,22 +33,23 @@
   </div>
   <div class="tabs">
     <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
+ <li class="current">a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>f</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>z</li>
     </ul>
   </div>
 </div>
@@ -61,297 +61,22 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">boost::xint</a>
 </li>
 <li>add()
-: <a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">boost::xint</a>
+, <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail</a>
+, <a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint</a>
 </li>
 <li>allocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">boost::xint::detail</a>
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#af1f0f3f0daacef4f7c496378bf6bdfd8">boost::xint::detail</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>bitwise_and()
-: <a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespaceboost_1_1xint.html#a1221efa42739f309024e1715adc58917">boost::xint</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespaceboost_1_1xint.html#ab4996f013ac222b53bea0b46ff95e1df">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>clearbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>deallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a3465b5d474bf9db2df3567fe68e15d33">boost::xint::detail</a>
-</li>
-<li>divide()
-: <a class="el" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">boost::xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespaceboost_1_1xint.html#a0fff3b235a18c0b3243a1ccc01a68f23">boost::xint</a>
-</li>
-<li>duplicate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab5aa26edc4b7699f3ff5d18729732b71">boost::xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a58aa7dc532f0d8a1557c9ec8f512602e">boost::xint</a>
-</li>
-<li>from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1">boost::xint</a>
-</li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a07914d9486e835d2dcea3268937296c4">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd">boost::xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespaceboost_1_1xint.html#a50ceb8725ce5a326ef1e43a4d593efac">boost::xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca">boost::xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495">boost::xint</a>
-</li>
-<li>log2()
-: <a class="el" href="namespaceboost_1_1xint.html#a206fbae1c02ec96cb274aae1ad611da7">boost::xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespaceboost_1_1xint.html#a09477129544d4bdb08ddd63644683f5c">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73">boost::xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespaceboost_1_1xint.html#ab62e3e69cbc7781a86fc9a0192ef5d37">boost::xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0c8f5da23ce668a7b428256f6b8ed4">boost::xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespaceboost_1_1xint.html#a5a7360e7330dcc35838ba324c523b395">boost::xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a3deaa6f8a44d454129bb06691a6035c7">boost::xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>negate()
-: <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">boost::xint</a>
-</li>
-<li>nothrow_factorial()
-: <a class="el" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint</a>
-</li>
-<li>nothrow_from_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#ab6045aa842481c5175a2d2afbe018ff1">boost::xint</a>
-</li>
-<li>nothrow_from_string()
-: <a class="el" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">boost::xint</a>
-</li>
-<li>nothrow_pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
-</li>
-<li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
-</li>
-<li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">boost::xint</a>
-</li>
-<li>operator!=()
-: <a class="el" href="namespaceboost_1_1xint.html#a43189615a1bfb4904c969efe846cefc6">boost::xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">boost::xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">boost::xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">boost::xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">boost::xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">boost::xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">boost::xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">boost::xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">boost::xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">boost::xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">boost::xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">boost::xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd">boost::xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">boost::xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
-</li>
-<li>reallocate()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a756b3b8912e24da52a5f1e54d49bbbbe">boost::xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail</a>
-, <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespaceboost_1_1xint.html#ac76235b31dcadded8193443b78743948">boost::xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">boost::xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>to()
-: <a class="el" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">boost::xint</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespaceboost_1_1xint.html#a0602566ae765c905b4ff84275334a112">boost::xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint</a>
+<li>allocate_fixed()
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa11166a9b6a4505bc8793ecdc31ad81f">boost::xint::detail</a>
 </li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespaceboost_1_1xint.html#a512ff2447d52a228c1c9f99fea8fd860">boost::xint</a>
+<li>allocate_fixed_zero()
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae0e0a61905f63dfe370ed6b4731fd076">boost::xint::detail</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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: sandbox/xint/doc/namespacemembers_type.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_type.html (original)
+++ sandbox/xint/doc/namespacemembers_type.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -35,6 +34,9 @@
 </div>
 <div class="contents">
 &nbsp;<ul>
+<li>binary_t
+: <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint</a>
+</li>
 <li>callback_t
 : <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
 </li>
@@ -46,7 +48,7 @@
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers_vars.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_vars.html (original)
+++ sandbox/xint/doc/namespacemembers_vars.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -50,6 +49,9 @@
 <li>digit_overflowbit
 : <a class="el" href="namespaceboost_1_1xint_1_1detail.html#aa743d942f784ec3a77e85816628d14cc">boost::xint::detail</a>
 </li>
+<li>digits_in_uintmax
+: <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a2dcd1e1d9d0bed7c296c7474ed4f976e">boost::xint::detail</a>
+</li>
 <li>doubledigit_hibit
 : <a class="el" href="namespaceboost_1_1xint_1_1detail.html#a33ea157e34285642e6924bbffffc4367">boost::xint::detail</a>
 </li>
@@ -61,7 +63,7 @@
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaces.html
==============================================================================
--- sandbox/xint/doc/namespaces.html (original)
+++ sandbox/xint/doc/namespaces.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -34,7 +33,7 @@
   <tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:26 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacestd.html
==============================================================================
--- sandbox/xint/doc/namespacestd.html (original)
+++ sandbox/xint/doc/namespacestd.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li class="current">Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -28,11 +27,12 @@
 <div class="contents">
 <h1>std Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">numeric_limits&lt; boost::xint::integer &gt;</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nan.html
==============================================================================
--- sandbox/xint/doc/nan.html (original)
+++ sandbox/xint/doc/nan.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -38,7 +37,7 @@
 </ul>
 <p>If you attempt to do anything else with it, you will get a special value indicating failure (which will be another Not-a-Number, if the function you're calling returns a <code>nothrow_integer</code>). </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nan_8dox.html
==============================================================================
--- sandbox/xint/doc/nan_8dox.html (original)
+++ sandbox/xint/doc/nan_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,14 +42,14 @@
 <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.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">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">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">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">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">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">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>
@@ -60,7 +59,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__bit__manipulations_8cpp_source.html">nothrow_bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,14 +36,14 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
 <a name="l00029"></a>00029 <span class="keywordflow">try</span> {
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.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">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6e4e8f8c4d7f25dbf7a6c5d13e74472b">detail::getbit</a>(n, bit);
 <a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00032"></a>00032 <span class="keywordflow">return</span> <span class="keyword">false</span>;
 <a name="l00033"></a>00033 }
@@ -52,51 +51,51 @@
 <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="comment">// Do nothing</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="comment">// Do nothing</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">return</span> 0;
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00074"></a>00074 <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="l00075"></a>00075 <span class="keywordflow">try</span> {
-<a name="l00076"></a>00076 <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="l00077"></a>00077 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> 0;
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00083"></a>00083 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="l00084"></a>00084 <span class="keywordflow">try</span> {
-<a name="l00085"></a>00085 <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="l00086"></a>00086 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00087"></a>00087 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090
-<a name="l00092"></a>00092 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="l00093"></a>00093 <span class="keywordflow">try</span> {
-<a name="l00094"></a>00094 <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="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aab28ac84cd1fb51d3d6206abad9fba01">detail::setbit</a>(n, bit);
+<a name="l00040"></a>00040 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00041"></a>00041 <span class="comment">// Do nothing</span>
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00047"></a>00047 <span class="keywordflow">try</span> {
+<a name="l00048"></a>00048 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#acac1cc20095f62e9c39941651dde4316">detail::clearbit</a>(n, bit);
+<a name="l00049"></a>00049 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00050"></a>00050 <span class="comment">// Do nothing</span>
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00059"></a>00059 <span class="keywordflow">try</span> {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a70ae609a4ed2dfd6fb2c237eadfe8a71">detail::lowestbit</a>(n, valueIfZero);
+<a name="l00061"></a>00061 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> 0;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00070"></a>00070 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00071"></a>00071 <span class="keywordflow">try</span> {
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aa5632075443060f8efc8c2d76e3d0d38">detail::highestbit</a>(n, valueIfZero);
+<a name="l00073"></a>00073 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> 0;
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00079"></a>00079 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
+<a name="l00080"></a>00080 <span class="keywordflow">try</span> {
+<a name="l00081"></a>00081 nothrow_integer r;
+<a name="l00082"></a>00082 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a53d3a82d1e9cc3093f7152536226ad26">detail::bitwise_and</a>(r, n1, n2);
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00084"></a>00084 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088
+<a name="l00090"></a>00090 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
+<a name="l00091"></a>00091 <span class="keywordflow">try</span> {
+<a name="l00092"></a>00092 nothrow_integer r;
+<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a371947fdd527dc7f9749288893da9ef2">detail::bitwise_or</a>(r, n1, n2);
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00095"></a>00095 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00096"></a>00096 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
 <a name="l00097"></a>00097 }
@@ -104,37 +103,43 @@
 <a name="l00099"></a>00099
 <a name="l00101"></a>00101 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
 <a name="l00102"></a>00102 <span class="keywordflow">try</span> {
-<a name="l00103"></a>00103 <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="l00104"></a>00104 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00110"></a>00110 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="l00111"></a>00111 <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="l00112"></a>00112 <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="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00116"></a>00116 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="l00117"></a>00117 <span class="keywordflow">try</span> {
-<a name="l00118"></a>00118 <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="l00119"></a>00119 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00125"></a>00125 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="l00126"></a>00126 <span class="keywordflow">try</span> {
-<a name="l00127"></a>00127 <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="l00128"></a>00128 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 } <span class="comment">// namespace xint</span>
-<a name="l00134"></a>00134 } <span class="comment">// namespace boost</span>
+<a name="l00103"></a>00103 nothrow_integer r;
+<a name="l00104"></a>00104 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3021d365585065f356b81a0250403541">detail::bitwise_xor</a>(r, n1, n2);
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00106"></a>00106 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110
+<a name="l00112"></a>00112 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="l00113"></a>00113 <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="l00114"></a>00114 <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="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00118"></a>00118 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00119"></a>00119 <span class="keywordflow">try</span> {
+<a name="l00120"></a>00120 nothrow_integer r;
+<a name="l00121"></a>00121 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2c4f8bb0f54061c28c9eb9c2cc852273">detail::shift_left</a>(r, n, byBits);
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00123"></a>00123 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127
+<a name="l00129"></a>00129 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00130"></a>00130 <span class="keywordflow">try</span> {
+<a name="l00131"></a>00131 nothrow_integer r;
+<a name="l00132"></a>00132 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac6682e4cab49f639aa538ccd10b3a8e5">detail::shift_right</a>(r, n, byBits);
+<a name="l00133"></a>00133 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00134"></a>00134 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace xint</span>
+<a name="l00140"></a>00140 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__compare_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__compare_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -47,12 +46,11 @@
 <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.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#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint::operator&gt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint::operator&gt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -60,7 +58,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__compare_8cpp_source.html">nothrow_compare.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__compare_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__compare_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,55 +36,41 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00028"></a>00028 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> nothrow_integer &amp;b1, <span class="keyword">const</span> nothrow_integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
-<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
-<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">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">return</span> 0;
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="keyword">namespace </span>{
-<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00038"></a>00038 <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="l00039"></a>00039 <span class="keywordflow">try</span> {
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(xint::integer(num1), xint::integer(num2)), 0);
-<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00042"></a>00042 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00043"></a>00043 }
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 } <span class="comment">// namespace</span>
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a>(<span class="keyword">const</span> nothrow_integer &amp;num1) {
-<a name="l00048"></a>00048 <span class="keywordflow">try</span> {
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a>(xint::integer(num1));
-<a name="l00050"></a>00050 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00051"></a>00051 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2) {
-<a name="l00056"></a>00056 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
-<a name="l00057"></a>00057 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00058"></a>00058 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
-<a name="l00059"></a>00059 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
-<a name="l00061"></a>00061 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00062"></a>00062 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
-<a name="l00063"></a>00063 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
-<a name="l00065"></a>00065 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="l00066"></a>00066 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 } <span class="comment">// namespace xint</span>
-<a name="l00069"></a>00069 } <span class="comment">// namespace boost</span>
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (b1.is_nan() || b2.is_nan()) <span class="keywordflow">return</span> 0;
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2);
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>{
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00035"></a>00035 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> nothrow_integer &amp;b1, <span class="keyword">const</span> nothrow_integer &amp;b2, <span class="keyword">const</span> T&amp; t) {
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (b1.is_nan() || b2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a9de8315201bc9967495a289fc8579dd7">detail::compare</a>(b1, b2), 0);
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 } <span class="comment">// namespace</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> nothrow_integer &amp;num1, <span class="keyword">const</span> nothrow_integer &amp;num2) {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
+<a name="l00045"></a>00045 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
+<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 } <span class="comment">// namespace xint</span>
+<a name="l00055"></a>00055 } <span class="comment">// namespace boost</span>
 </pre></div></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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__convert_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__convert_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,10 +42,10 @@
 <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.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#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint::nothrow_from_binary</a> (const xint::binary_t &amp;b, size_t bits)</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>
+<tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac6b8b0fa807a6a216314af2b4bcca45d">boost::xint::to_binary</a> (const nothrow_integer &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint::to_string</a> (const nothrow_integer &amp;n, size_t base, bool uppercase)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the conversion functions for the <code>nothrow_integer</code> type. </p>
@@ -54,7 +53,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__convert_8cpp_source.html">nothrow_convert.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__convert_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__convert_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__convert_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <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="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.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 {
@@ -46,7 +45,7 @@
 <a name="l00027"></a>00027
 <a name="l00035"></a>00035 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
 <a name="l00036"></a>00036 <span class="keywordflow">try</span> {
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(xint::integer(n), base, uppercase);
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af928647d948f09a6564ccd83a80dad14">detail::to_string</a>(n, base, uppercase);
 <a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00039"></a>00039 <span class="keywordflow">return</span> std::string();
 <a name="l00040"></a>00040 }
@@ -55,32 +54,39 @@
 <a name="l00047"></a>00047 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
 <a name="l00048"></a>00048 <span class="keywordflow">try</span> {
 <a name="l00049"></a>00049 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00050"></a>00050 <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="l00051"></a>00051 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055
-<a name="l00057"></a>00057 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="l00058"></a>00058 <span class="keywordflow">try</span> {
-<a name="l00059"></a>00059 <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="l00060"></a>00060 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00061"></a>00061 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064
-<a name="l00069"></a>00069 std::string <a class="code" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">to_binary</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
-<a name="l00070"></a>00070 <span class="keywordflow">try</span> {
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">to_binary</a>(xint::integer(n));
-<a name="l00072"></a>00072 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> std::string();
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 } <span class="comment">// namespace xint</span>
-<a name="l00078"></a>00078 } <span class="comment">// namespace boost</span>
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 nothrow_integer r;
+<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8ba37df48cdda7d54becb08bbe97fa5f">detail::from_string</a>(r, str, base);
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00054"></a>00054 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00060"></a>00060 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; b, <span class="keywordtype">size_t</span> bits) {
+<a name="l00061"></a>00061 <span class="keywordflow">try</span> {
+<a name="l00062"></a>00062 nothrow_integer r;
+<a name="l00063"></a>00063 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af6486dc129e2175a1c5e69a0490d1dec">detail::from_binary</a>(r, b, bits);
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00065"></a>00065 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069
+<a name="l00074"></a>00074 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keywordtype">size_t</span> bits) {
+<a name="l00075"></a>00075 <span class="keywordflow">try</span> {
+<a name="l00076"></a>00076 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> r;
+<a name="l00077"></a>00077 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a8c7dab9ec8b34c81c577a3b9d3e44118">detail::to_binary</a>(r, n, bits);
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00079"></a>00079 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>();
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 } <span class="comment">// namespace xint</span>
+<a name="l00085"></a>00085 } <span class="comment">// namespace boost</span>
 </pre></div></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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__gcd_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__gcd_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -51,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__gcd_8cpp_source.html">nothrow_gcd.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__gcd_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__gcd_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,31 +36,35 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
 <a name="l00026"></a>00026 <span class="keywordflow">try</span> {
-<a name="l00027"></a>00027 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">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">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#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
-<a name="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#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(xint::integer(num1), xint::integer(num2)));
-<a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00038"></a>00038 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 } <span class="comment">// namespace xint</span>
-<a name="l00043"></a>00043 } <span class="comment">// namespace boost</span>
+<a name="l00027"></a>00027 nothrow_integer r;
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3855da89983ace165f708111723d8d1a">detail::gcd</a>(r, num1, num2);
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034
+<a name="l00036"></a>00036 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> nothrow_integer&amp; num1, <span class="keyword">const</span> nothrow_integer&amp; num2) {
+<a name="l00037"></a>00037 <span class="keywordflow">try</span> {
+<a name="l00038"></a>00038 nothrow_integer r;
+<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a931235bb5e181c038944d773a1e03158">detail::lcm</a>(r, num1, num2);
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace xint</span>
+<a name="l00047"></a>00047 } <span class="comment">// namespace boost</span>
 </pre></div></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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__integer_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,7 +44,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/nothrow__integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8hpp.html (original)
+++ sandbox/xint/doc/nothrow__integer_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,92 +44,89 @@
 </p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">boost::xint::swap</a> (nothrow_integer &amp;left, nothrow_integer &amp;right)</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">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>
-<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">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#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#a0098148e09b3c1fb2aed15dc9badc7c6">boost::xint::nothrow_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#a0825d8d9d4644df8d9b6922f5b0d7064">boost::xint::sqrt</a> (const nothrow_integer &amp;n)</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="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">boost::xint::to</a> (const nothrow_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">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>
-<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">nothrow_integer::divide_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">boost::xint::divide_r</a> (const nothrow_integer &amp;d1, const nothrow_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#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#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#a385b3869d8dcceab2ffb68ff33c95062">boost::xint::subtract</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</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.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">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">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">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">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">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">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>
+<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">boost::xint::compare</a> (const nothrow_integer &amp;b1, const nothrow_integer &amp;b2, bool ignoresign)</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>
+<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>
 <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">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>
 <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>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="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 colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint::is_prime</a> (const nothrow_integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint::nothrow_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td 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">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>
+<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#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#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#a0825d8d9d4644df8d9b6922f5b0d7064">boost::xint::sqrt</a> (const nothrow_integer &amp;n)</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">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">boost::xint::nothrow_from_binary</a> (const xint::binary_t &amp;b, size_t bits)</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="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">boost::xint::to</a> (const nothrow_integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac6b8b0fa807a6a216314af2b4bcca45d">boost::xint::to_binary</a> (const nothrow_integer &amp;n, size_t bits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a41f8922f3a2328a3c8f0d50264643ca7">boost::xint::to_string</a> (const nothrow_integer &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
 <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.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#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>
-<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">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#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#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#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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab98cd20fa3761900de197363bac0fcb">boost::xint::operator&lt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8a72cb95a5e25a310215eaa2cc93349f">boost::xint::operator&lt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#accccaec2c2a8ccfadfc559adbb7ff6ed">boost::xint::operator==</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a002b54ae65c6c265d773e7b491bd90fb">boost::xint::operator&gt;</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2e213ecd798c6bc331460dff13b35173">boost::xint::operator&gt;=</a> (const nothrow_integer &amp;num1, const nothrow_integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">boost::xint::operator^</a> (const nothrow_integer &amp;n1, const nothrow_integer &amp;n2)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2745c08384519957ceaf26c3e421d485">boost::xint::compare</a> (const nothrow_integer &amp;b1, const nothrow_integer &amp;b2, bool ignoresign)</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>
-<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>
+<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 colspan="2"><div class="groupHeader">Stream input/output functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpd9927783c44c1aad288df0ab8bfa9ddf"></a> </p>
 </div></td></tr>
@@ -146,7 +142,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8hpp_source.html (original)
+++ sandbox/xint/doc/nothrow__integer_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -40,272 +39,292 @@
 <a name="l00018"></a>00018 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
 <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
 <a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="integer_8hpp.html" title="Declares the core integer type.">integer.hpp</a>&quot;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
-<a name="l00027"></a>00027
-<a name="l00040"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html">00040</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html" title="The base class for the integer classes.">base_integer</a> {
-<a name="l00041"></a>00041 <span class="keyword">public</span>:
-<a name="l00042"></a>00042
-<a name="l00045"></a>00045 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>();
-<a name="l00046"></a>00046 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00047"></a>00047 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
-<a name="l00048"></a>00048 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00050"></a>00050 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00051"></a>00051 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
-<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00053"></a>00053 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00054"></a>00054 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
-<a name="l00056"></a>00056
-<a name="l00066"></a>00066 <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">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="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="integer_8hpp.html" title="Declares the core integer type.">integer.hpp</a>&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
+<a name="l00034"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html">00034</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>: <span class="keyword">public</span> detail::<a class="code" href="classboost_1_1xint_1_1detail_1_1base__variable__length__integer.html" title="The base class for the variable-length integer classes.">base_variable_length_integer</a> {
+<a name="l00035"></a>00035 <span class="keyword">public</span>:
+<a name="l00036"></a>00036
+<a name="l00039"></a>00039 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>();
+<a name="l00040"></a>00040 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00041"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">00041</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f3ccc72b53d0f088b7fe897cd1c121c">nothrow_integer</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) b) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(b); }
+<a name="l00042"></a>00042 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; b);
+<a name="l00043"></a>00043 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>&amp; b);
+<a name="l00044"></a>00044 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00046"></a>00046 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00047"></a>00047 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00049"></a>00049 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00050"></a>00050 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
+<a name="l00052"></a>00052
+<a name="l00062"></a>00062 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7d5c5c2598e74fc68ce5ab24b75bdc94">operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c);
+<a name="l00063"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">00063</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a4f522133dbe1ed73936bbaf3a3ab0178">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c) { <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(c);
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00065"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">00065</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a558df5742e0845bf59821fc3c8497a2f">operator=</a>(<span class="keyword">const</span> T&amp; n) {
+<a name="l00066"></a>00066 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> nn(n); <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00067"></a>00067
-<a name="l00068"></a>00068 <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">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00069"></a>00069 <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">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00070"></a>00070 <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">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00071"></a>00071 <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">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00072"></a>00072 <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">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <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">operator++</a>();
-<a name="l00075"></a>00075 <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">operator--</a>();
-<a name="l00076"></a>00076 <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">operator++</a>(<span class="keywordtype">int</span>);
-<a name="l00077"></a>00077 <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">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">00068</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a5c162cb498d430ec65e79545250c1c81">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a576bd802f9b2cb8450250839bc52b98c">_is_zero</a>(); }
+<a name="l00069"></a>00069 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a6089e2a54dca7cda0d81bb2056f811a6">operator-</a>() <span class="keyword">const</span>;
+<a name="l00070"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">00070</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a18c813db088f90deafaaa8c76d6fe0fe">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00071"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">00071</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a37e56a3b97e84de6db5cb155ea9fed5f">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <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">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00074"></a>00074 <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">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00075"></a>00075 <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">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00076"></a>00076 <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">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
+<a name="l00077"></a>00077 <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">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; b);
 <a name="l00078"></a>00078
-<a name="l00079"></a>00079 <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">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00080"></a>00080 <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">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00081"></a>00081 <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">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00082"></a>00082 <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">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>;
-<a name="l00083"></a>00083 <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">operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> shift) <span class="keyword">const</span>;
-<a name="l00084"></a>00084 <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">operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00085"></a>00085 <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">operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00087"></a>00087
-<a name="l00090"></a>00090 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">odd</a>() <span class="keyword">const</span>;
-<a name="l00091"></a>00091 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">even</a>() <span class="keyword">const</span>;
-<a name="l00092"></a>00092 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">sign</a>(<span class="keywordtype">bool</span> signed_zero=<span class="keyword">false</span>) <span class="keyword">const</span>;
-<a name="l00093"></a>00093 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>() <span class="keyword">const</span>;
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">hex_digits</a>() <span class="keyword">const</span>;
-<a name="l00097"></a>00097
-<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a>();
-<a name="l00106"></a>00106 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>();
-<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nan</a>();
-<a name="l00109"></a>00109
-<a name="l00115"></a>00115 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a3351e2aacd5477008fd96bdf0c72d0b8">_make_unique</a>();
-<a name="l00117"></a>00117 };
-<a name="l00118"></a>00118
-<a name="l00121"></a>00121 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00123"></a>00123 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend);
-<a name="l00124"></a>00124 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00125"></a>00125 subtrahend);
-<a name="l00126"></a>00126 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00127"></a>00127 multiplicand);
-<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00129"></a>00129 divisor);
-<a name="l00130"></a>00130 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> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00131"></a>00131 dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; divisor);
-<a name="l00133"></a>00133
-<a name="l00135"></a>00135
-<a name="l00138"></a>00138 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00139"></a>00139 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; exponent);
-<a name="l00140"></a>00140 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00141"></a>00141 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00142"></a>00142 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00144"></a>00144
-<a name="l00146"></a>00146
-<a name="l00149"></a>00149 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e" title="Efficiently converts from an xint::integer to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00150"></a>00150 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase =
-<a name="l00151"></a>00151 <span class="keyword">false</span>);
-<a name="l00152"></a>00152 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00153"></a>00153 std::string <a class="code" href="namespaceboost_1_1xint.html#a19124d8eeee95cc7ff1e348c36250eea" title="Creates a binary representation of an integer, lowest byte first.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00154"></a>00154 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab6045aa842481c5175a2d2afbe018ff1">nothrow_from_binary</a>(<span class="keyword">const</span> std::string&amp; s);
-<a name="l00156"></a>00156
-<a name="l00158"></a>00158
-<a name="l00161"></a>00161 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00162"></a>00162 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00163"></a>00163 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00164"></a>00164 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00165"></a>00165 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00166"></a>00166 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00167"></a>00167 n2);
-<a name="l00168"></a>00168 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00169"></a>00169 n2);
-<a name="l00170"></a>00170 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00171"></a>00171 n2);
-<a name="l00172"></a>00172 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
-<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00174"></a>00174 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00176"></a>00176
-<a name="l00178"></a>00178
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modBy);
-<a name="l00186"></a>00186 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; by,
-<a name="l00187"></a>00187 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus);
-<a name="l00188"></a>00188 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00189"></a>00189 modulus);
-<a name="l00190"></a>00190 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00191"></a>00191 exponent, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
-<a name="l00192"></a>00192 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
-<a name="l00193"></a>00193 modulus);
-<a name="l00195"></a>00195
-<a name="l00197"></a>00197
-<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>,
-<a name="l00201"></a>00201 <span class="keywordtype">bool</span> lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
-<a name="l00203"></a>00203
-<a name="l00205"></a>00205
-<a name="l00208"></a>00208 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00209"></a>00209 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
-<a name="l00210"></a>00210 <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00212"></a>00212
-<a name="l00214"></a>00214
+<a name="l00079"></a>00079 <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">operator++</a>();
+<a name="l00080"></a>00080 <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">operator--</a>();
+<a name="l00081"></a>00081 <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">operator++</a>(<span class="keywordtype">int</span>);
+<a name="l00082"></a>00082 <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">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <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">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00085"></a>00085 <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">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00086"></a>00086 <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">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00087"></a>00087 <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">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>;
+<a name="l00088"></a>00088 <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">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>;
+<a name="l00089"></a>00089 <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">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="l00090"></a>00090 <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">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="l00092"></a>00092
+<a name="l00095"></a>00095 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a39c446f247f63fbad9c4a205a1fbcc74">odd</a>() <span class="keyword">const</span>;
+<a name="l00096"></a>00096 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a405c535527d1ff631c7338a6d329c51d">even</a>() <span class="keyword">const</span>;
+<a name="l00097"></a>00097 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">sign</a>(<span class="keywordtype">bool</span> signed_zero=<span class="keyword">false</span>) <span class="keyword">const</span>;
+<a name="l00098"></a>00098 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>() <span class="keyword">const</span>;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a06f1a0177446777e4e84dc0fc91d65b2">hex_digits</a>() <span class="keyword">const</span>;
+<a name="l00102"></a>00102
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a>();
+<a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1487576980f14a9011d76dab4d7bcb50">one</a>();
+<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nan</a>();
+<a name="l00114"></a>00114
+<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a685da8a208baf4f77502062d4cc0f062">_make_unique</a>(<span class="keywordtype">bool</span>);
+<a name="l00117"></a>00117
+<a name="l00118"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">00118</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t&lt;nothrow_integer&gt;</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a>;
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">private</span>:
+<a name="l00121"></a>00121 <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>)
+<a name="l00122"></a>00122 };
+<a name="l00123"></a>00123
+<a name="l00126"></a>00126 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00127"></a>00127 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; addend);
+<a name="l00129"></a>00129 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00130"></a>00130 subtrahend);
+<a name="l00131"></a>00131 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00132"></a>00132 multiplicand);
+<a name="l00133"></a>00133 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00134"></a>00134 divisor);
+<a name="l00135"></a>00135 <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">nothrow_integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; dividend, <span class="keyword">const</span>
+<a name="l00136"></a>00136 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; divisor);
+<a name="l00138"></a>00138
+<a name="l00140"></a>00140
+<a name="l00143"></a>00143 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00144"></a>00144 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; exponent);
+<a name="l00145"></a>00145 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">nothrow_pow2</a>(<span class="keywordtype">size_t</span> exponent);
+<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n);
+<a name="l00147"></a>00147 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00149"></a>00149
+<a name="l00151"></a>00151
+<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00155"></a>00155 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase =
+<a name="l00156"></a>00156 <span class="keyword">false</span>);
+<a name="l00157"></a>00157 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae40f9a912e985490d7291d56e597a464">nothrow_from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00158"></a>00158 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00159"></a>00159 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad7e6b2629b12014d16bbc7b2383d72cd">nothrow_from_binary</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&amp; s, <span class="keywordtype">size_t</span> bits=0);
+<a name="l00161"></a>00161
+<a name="l00163"></a>00163
+<a name="l00166"></a>00166 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00167"></a>00167 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00168"></a>00168 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00169"></a>00169 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00170"></a>00170 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00171"></a>00171 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00172"></a>00172 n2);
+<a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00174"></a>00174 n2);
+<a name="l00175"></a>00175 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00176"></a>00176 n2);
+<a name="l00177"></a>00177 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
+<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00179"></a>00179 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00181"></a>00181
+<a name="l00183"></a>00183
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modBy);
+<a name="l00191"></a>00191 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; by,
+<a name="l00192"></a>00192 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus);
+<a name="l00193"></a>00193 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00194"></a>00194 modulus);
+<a name="l00195"></a>00195 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00196"></a>00196 exponent, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
+<a name="l00197"></a>00197 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp;
+<a name="l00198"></a>00198 modulus);
+<a name="l00200"></a>00200
+<a name="l00202"></a>00202
+<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>,
+<a name="l00206"></a>00206 <span class="keywordtype">bool</span> lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
+<a name="l00208"></a>00208
+<a name="l00210"></a>00210
+<a name="l00213"></a>00213 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00214"></a>00214 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
+<a name="l00215"></a>00215 <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00217"></a>00217
 <a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a223232e2fe1af65bbba7b67a10f14f48">operator!</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1);
-<a name="l00221"></a>00221 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00222"></a>00222 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00223"></a>00223 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00224"></a>00224 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00225"></a>00225 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00226"></a>00226 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00227"></a>00227
-<a name="l00228"></a>00228 <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="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">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; a);
-<a name="l00229"></a>00229 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">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; a);
-<a name="l00230"></a>00230 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00231"></a>00231 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00232"></a>00232 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00233"></a>00233 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00234"></a>00234 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00239"></a>00239
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af845afe18e9b1326d630e5c0696e679d">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00226"></a>00226 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ab09672bca82a7f4fbdca4443492210bc">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00227"></a>00227 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a7749bff2e150c55649324ba9797aa6d0">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00228"></a>00228 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a1ace7bde7533ff9d8a3f38978e7bb046">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00229"></a>00229 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a66b558cce023df7b3e10ee22dfe653d0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00230"></a>00230 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac5d5cb8db57fd0247aa4e36d9b25c492">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">operator+</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00233"></a>00233 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00234"></a>00234 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">operator*</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">operator/</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">operator%</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00238"></a>00238 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00239"></a>00239 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">operator^</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
 <a name="l00241"></a>00241
-<a name="l00244"></a>00244 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
-<a name="l00245"></a>00245 ignoresign=<span class="keyword">false</span>);
-<a name="l00246"></a>00246 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00247"></a>00247 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00248"></a>00248 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00250"></a>00250
-<a name="l00252"></a>00252 <span class="comment">// Template function definitions</span>
-<a name="l00253"></a>00253
-<a name="l00266"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00266</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00267"></a>00267 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00268"></a>00268 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00269"></a>00269 {
-<a name="l00270"></a>00270 <span class="keywordflow">try</span> {
-<a name="l00271"></a>00271 *<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>(n));
-<a name="l00272"></a>00272 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00273"></a>00273 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(0);
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276
-<a name="l00289"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00289</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00290"></a>00290 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00291"></a>00291 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00292"></a>00292 {
-<a name="l00293"></a>00293 <span class="keywordflow">try</span> {
-<a name="l00294"></a>00294 *<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>(n));
-<a name="l00295"></a>00295 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00296"></a>00296 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a0ff9a2dc0d72f2c16caf68c6277cdab9">_attach</a>(0);
-<a name="l00297"></a>00297 }
-<a name="l00298"></a>00298 }
-<a name="l00299"></a>00299
-<a name="l00304"></a>00304 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00305"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00305</a> T <a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e" title="Efficiently converts from an xint::integer to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
-<a name="l00306"></a>00306 <span class="keywordflow">try</span> {
-<a name="l00307"></a>00307 <span class="keywordflow">return</span> to&lt;T&gt;(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(n));
-<a name="l00308"></a>00308 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00309"></a>00309 <span class="keywordflow">return</span> 0;
-<a name="l00310"></a>00310 }
-<a name="l00311"></a>00311 }
-<a name="l00312"></a>00312
-<a name="l00315"></a>00315 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00316"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00316</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00317"></a>00317 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00320"></a>00320 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>;
-<a name="l00321"></a>00321 <span class="keywordflow">return</span> out;
-<a name="l00322"></a>00322 } <span class="keywordflow">else</span> {
-<a name="l00323"></a>00323 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">xint::operator&lt;&lt;</a>(out, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a>(n));
-<a name="l00324"></a>00324 }
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326
-<a name="l00327"></a>00327 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00328"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00328</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00329"></a>00329 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
-<a name="l00332"></a>00332 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l00333"></a>00333 <span class="keywordtype">char</span> buffer[6];
-<a name="l00334"></a>00334 std::streamsize size=in.readsome(buffer, 5);
-<a name="l00335"></a>00335 buffer[size]=0;
-<a name="l00336"></a>00336 std::string str(buffer);
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00339"></a>00339 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l00340"></a>00340 } <span class="keywordflow">else</span> {
-<a name="l00341"></a>00341 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">xint::nothrow_integer</a> nn;
-<a name="l00342"></a>00342 <a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">xint::operator&gt;&gt;</a>(in, nn);
-<a name="l00343"></a>00343 <span class="keywordflow">if</span> (in) n=nn;
-<a name="l00344"></a>00344 }
-<a name="l00345"></a>00345
-<a name="l00346"></a>00346 <span class="keywordflow">return</span> in;
-<a name="l00347"></a>00347 }
-<a name="l00349"></a>00349
-<a name="l00350"></a>00350 } <span class="comment">// namespace xint</span>
-<a name="l00351"></a>00351 } <span class="comment">// namespace boost</span>
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="keyword">namespace </span>std {
-<a name="l00354"></a>00354 <span class="keyword">template</span>&lt;&gt;
-<a name="l00355"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00355</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
-<a name="l00356"></a>00356 <span class="keyword">public</span>:
-<a name="l00357"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00357</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00358"></a>00358
-<a name="l00359"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00359</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00360"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00360</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00361"></a>00361
-<a name="l00362"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00362</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00363"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00363</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00364"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00364</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00365"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00365</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00366"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00366</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00367"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00367</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00368"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00368</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00369"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00369</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00370"></a>00370
-<a name="l00371"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00371</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00372"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00372</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00373"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00373</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00374"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00374</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00375"></a>00375
-<a name="l00376"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00376</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00377"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00377</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
-<a name="l00378"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00378</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00379"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00379</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00380"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00380</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00243"></a>00243
+<a name="l00246"></a>00246 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
+<a name="l00247"></a>00247 ignoresign=<span class="keyword">false</span>);
+<a name="l00248"></a>00248 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00249"></a>00249 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00250"></a>00250 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00252"></a>00252
+<a name="l00254"></a>00254 <span class="comment">// Template function definitions</span>
+<a name="l00255"></a>00255
+<a name="l00268"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00268</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00269"></a>00269 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00270"></a>00270 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 <span class="keywordflow">try</span> {
+<a name="l00273"></a>00273 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#af81476d55eaf931ff396c82894c7f72d">_set_signed</a>(n);
+<a name="l00274"></a>00274 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00275"></a>00275 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277 }
+<a name="l00278"></a>00278
+<a name="l00291"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00291</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00292"></a>00292 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00293"></a>00293 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 <span class="keywordflow">try</span> {
+<a name="l00296"></a>00296 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#ad87a527e2b5379b358484893a1cd8ebb">_set_unsigned</a>(n);
+<a name="l00297"></a>00297 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00298"></a>00298 <a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a9e58a5897a80b8017ff7da7f0abacb6b">_base_attach</a>(0);
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 }
+<a name="l00301"></a>00301
+<a name="l00306"></a>00306 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00307"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00307</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
+<a name="l00308"></a>00308 <span class="keywordflow">try</span> {
+<a name="l00309"></a>00309 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00310"></a>00310 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00311"></a>00311 <span class="keywordflow">return</span> 0;
+<a name="l00312"></a>00312 }
+<a name="l00313"></a>00313 }
+<a name="l00314"></a>00314
+<a name="l00317"></a>00317 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00318"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00318</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00319"></a>00319 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00320"></a>00320 {
+<a name="l00321"></a>00321 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00322"></a>00322 out &lt;&lt; <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>;
+<a name="l00323"></a>00323 <span class="keywordflow">return</span> out;
+<a name="l00324"></a>00324 } <span class="keywordflow">else</span> {
+<a name="l00325"></a>00325 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a674271483ebe199824cdfbd63a6adee1">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00326"></a>00326 }
+<a name="l00327"></a>00327 }
+<a name="l00328"></a>00328
+<a name="l00329"></a>00329 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00330"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00330</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00331"></a>00331 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00332"></a>00332 {
+<a name="l00333"></a>00333 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
+<a name="l00334"></a>00334 <span class="comment">// Must be either #NaN# or an error</span>
+<a name="l00335"></a>00335 <span class="keywordtype">char</span> buffer[6];
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
+<a name="l00338"></a>00338 <span class="comment">//std::streamsize size=in.readsome(buffer, 5);</span>
+<a name="l00339"></a>00339 <span class="comment">//buffer[size]=0;</span>
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 <span class="comment">// Replacing them with these.</span>
+<a name="l00342"></a>00342 <span class="keywordtype">char</span> *p = buffer, *pe = p + 5;
+<a name="l00343"></a>00343 <span class="keywordflow">while</span> (p != pe) in &gt;&gt; *p++;
+<a name="l00344"></a>00344 *p = 0;
+<a name="l00345"></a>00345
+<a name="l00346"></a>00346 std::string str(buffer);
+<a name="l00347"></a>00347
+<a name="l00348"></a>00348 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00349"></a>00349 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
+<a name="l00350"></a>00350 <span class="keywordflow">return</span> in;
+<a name="l00351"></a>00351 } <span class="keywordflow">else</span> {
+<a name="l00352"></a>00352 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a2cab37c14507681f47915d9e3f0d6c86">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00353"></a>00353 }
+<a name="l00354"></a>00354 }
+<a name="l00356"></a>00356
+<a name="l00357"></a><a class="code" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">00357</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; right) {
+<a name="l00358"></a>00358 left.<a class="code" href="classboost_1_1xint_1_1detail_1_1base__integer.html#a6c2015c98805bf96d68aae1c13287a36">_swap</a>(right);
+<a name="l00359"></a>00359 }
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361 } <span class="comment">// namespace xint</span>
+<a name="l00362"></a>00362 } <span class="comment">// namespace boost</span>
+<a name="l00363"></a>00363
+<a name="l00364"></a>00364 <span class="keyword">namespace </span>std {
+<a name="l00365"></a>00365 <span class="keyword">template</span>&lt;&gt;
+<a name="l00366"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00366</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
+<a name="l00367"></a>00367 <span class="keyword">public</span>:
+<a name="l00368"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00368</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00369"></a>00369
+<a name="l00370"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00370</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00371"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00371</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00372"></a>00372
+<a name="l00373"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00373</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00374"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00374</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00375"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00375</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00376"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00376</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00377"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00377</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00378"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00378</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00379"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00379</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00380"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00380</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
 <a name="l00381"></a>00381
-<a name="l00382"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00382</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00383"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00383</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
-<a name="l00384"></a>00384 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
-<a name="l00385"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00385</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00386"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00386</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00387"></a>00387
-<a name="l00388"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00388</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00389"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00389</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00390"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00391"></a>00391
-<a name="l00392"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00392</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00393"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00393</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00394"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00394</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00395"></a>00395 };
-<a name="l00396"></a>00396 } <span class="comment">// namespace std</span>
-<a name="l00397"></a>00397
-<a name="l00398"></a>00398 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
+<a name="l00382"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00382</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00383"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00383</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00384"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00384</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00385"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00385</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00386"></a>00386
+<a name="l00387"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00387</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00388"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00388</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
+<a name="l00389"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00389</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00390"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00391"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00391</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00392"></a>00392
+<a name="l00393"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00393</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00394"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00394</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
+<a name="l00395"></a>00395 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
+<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00396</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00397"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00397</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00398"></a>00398
+<a name="l00399"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00399</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00400"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00400</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00402"></a>00402
+<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00404"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00404</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00406"></a>00406 };
+<a name="l00407"></a>00407 } <span class="comment">// namespace std</span>
+<a name="l00408"></a>00408
+<a name="l00409"></a>00409 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__misc_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__misc_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -50,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__misc_8cpp_source.html">nothrow_misc.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__misc_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__misc_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,14 +36,14 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00028"></a>00028 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> 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#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(xint::integer(n));
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> (n._is_nan() ? 0 : n._log2());
 <a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
 <a name="l00032"></a>00032 <span class="keywordflow">return</span> 0;
 <a name="l00033"></a>00033 }
@@ -53,7 +52,7 @@
 <a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
 <a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__modular_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__modular_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,18 +42,18 @@
 <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">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>
 <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>
+<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>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the basic modular math functions for the <code>nothrow_integer</code> type. </p>
 
 <p>Definition in file <a class="el" href="nothrow__modular_8cpp_source.html">nothrow_modular.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__modular_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__modular_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,59 +36,63 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
 <a name="l00026"></a>00026 <span class="keywordflow">try</span> {
-<a name="l00027"></a>00027 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">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">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#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">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="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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(xint::integer(n) * xint::integer(by),
-<a name="l00037"></a>00037 xint::integer(m)));
-<a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<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#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
-<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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(xint::integer(n)), xint::integer(m)));
-<a name="l00047"></a>00047 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00053"></a>00053 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> 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="l00054"></a>00054 noMontgomery)
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keywordflow">try</span> {
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(xint::integer(n), xint::integer(e),
-<a name="l00058"></a>00058 xint::integer(m), noMontgomery));
-<a name="l00059"></a>00059 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063
-<a name="l00068"></a>00068 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
-<a name="l00069"></a>00069 <span class="keywordflow">try</span> {
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(xint::integer(n), xint::integer(m)));
-<a name="l00071"></a>00071 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 } <span class="comment">// namespace xint</span>
-<a name="l00077"></a>00077 } <span class="comment">// namespace boost</span>
+<a name="l00027"></a>00027 nothrow_integer r;
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a3395be771e1ce5d282e018a2735b6d86">detail::mod</a>(r, n, m);
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034
+<a name="l00036"></a>00036 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ac9af74aa79d9cc7f51c57cc7707824ba" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; by, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(n * by, m);
+<a name="l00039"></a>00039 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00040"></a>00040 <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="l00045"></a>00045 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<a name="l00046"></a>00046 <span class="keywordflow">try</span> {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(<a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(n), m);
+<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<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#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">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>
+<a name="l00055"></a>00055 nothrow_integer&amp; m, <span class="keywordtype">bool</span> noMontgomery)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordflow">try</span> {
+<a name="l00058"></a>00058 nothrow_integer r;
+<a name="l00059"></a>00059 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac063e3fcb648313184b04ef7102d7695">detail::powmod</a>(r, n, e, m, noMontgomery);
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00061"></a>00061 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00070"></a>00070 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; m) {
+<a name="l00071"></a>00071 <span class="keywordflow">try</span> {
+<a name="l00072"></a>00072 nothrow_integer r;
+<a name="l00073"></a>00073 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a5b0d8fb9d0f8d7feffb43ca63e10a4b3">detail::invmod</a>(r, n, m);
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00075"></a>00075 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 } <span class="comment">// namespace xint</span>
+<a name="l00081"></a>00081 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__operators_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__operators_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,23 +42,21 @@
 <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 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#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#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#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>
+<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>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the basic math operators for the <code>nothrow_integer</code> type. </p>
 
 <p>Definition in file <a class="el" href="nothrow__operators_8cpp_source.html">nothrow_operators.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__operators_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__operators_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,26 +36,24 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">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>
+<a name="l00024"></a>00024 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">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="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">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="l00026"></a>00026 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="l00027"></a>00027 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="l00028"></a>00028 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#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(num1, num2); }
+<a name="l00029"></a>00029 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="l00030"></a>00030 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="l00031"></a>00031 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="l00032"></a>00032
+<a name="l00033"></a>00033 } <span class="comment">// namespace xint</span>
+<a name="l00034"></a>00034 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__powers_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__powers_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,17 +42,17 @@
 <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">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>
 <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>
+<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>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for <code>nothrow_integer</code> functions related to powers of a number. </p>
 
 <p>Definition in file <a class="el" href="nothrow__powers_8cpp_source.html">nothrow_powers.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__powers_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__powers_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__powers_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
@@ -45,37 +44,43 @@
 <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="l00028"></a>00028 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(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">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00037"></a>00037 }
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00041"></a>00041 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="l00042"></a>00042 <span class="keywordflow">try</span> {
-<a name="l00043"></a>00043 <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="l00044"></a>00044 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048
-<a name="l00050"></a>00050 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n) {
-<a name="l00051"></a>00051 <span class="keywordflow">try</span> {
-<a name="l00052"></a>00052 <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="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 } <span class="comment">// namespace xint</span>
-<a name="l00059"></a>00059 } <span class="comment">// namespace boost</span>
+<a name="l00034"></a>00034 nothrow_integer r;
+<a name="l00035"></a>00035 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">detail::sqr</a>(r, n);
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00038"></a>00038 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00043"></a>00043 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; e) {
+<a name="l00044"></a>00044 <span class="keywordflow">try</span> {
+<a name="l00045"></a>00045 nothrow_integer r;
+<a name="l00046"></a>00046 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">detail::pow</a>(r, n, e);
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<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#a0098148e09b3c1fb2aed15dc9badc7c6">nothrow_factorial</a>(<span class="keywordtype">size_t</span> n) {
+<a name="l00055"></a>00055 <span class="keywordflow">try</span> {
+<a name="l00056"></a>00056 nothrow_integer r;
+<a name="l00057"></a>00057 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">detail::factorial</a>(r, n);
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00059"></a>00059 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 } <span class="comment">// namespace xint</span>
+<a name="l00065"></a>00065 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__primes_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__primes_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -51,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__primes_8cpp_source.html">nothrow_primes.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primes_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__primes_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__primes_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
@@ -52,16 +51,17 @@
 <a name="l00035"></a>00035
 <a name="l00037"></a>00037 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
 <a name="l00038"></a>00038 <span class="keywordflow">try</span> {
-<a name="l00039"></a>00039 <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="l00040"></a>00040 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<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="l00045"></a>00045 } <span class="comment">// namespace xint</span>
-<a name="l00046"></a>00046 } <span class="comment">// namespace boost</span>
+<a name="l00039"></a>00039 nothrow_integer r(<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a>(size_in_bits, callback));
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace xint</span>
+<a name="l00047"></a>00047 } <span class="comment">// namespace boost</span>
 </pre></div></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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__primitives_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__primitives_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -44,20 +43,19 @@
 <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">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>
+<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer::divide_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">boost::xint::divide_r</a> (const nothrow_integer &amp;d1, const nothrow_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#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#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#a385b3869d8dcceab2ffb68ff33c95062">boost::xint::subtract</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 math primitives for the <code>nothrow_integer</code> type. </p>
 
 <p>Definition in file <a class="el" href="nothrow__primitives_8cpp_source.html">nothrow_primitives.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__primitives_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__primitives_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,67 +36,91 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</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#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</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">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">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040 }
+<a name="l00027"></a>00027 <span class="keywordflow">if</span> (n._get_negative()) {
+<a name="l00028"></a>00028 <span class="keywordflow">return</span> -n;
+<a name="l00029"></a>00029 } <span class="keywordflow">else</span> {
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> n;
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<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="l00038"></a>00038 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> nothrow_integer&amp; n) {
+<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
+<a name="l00040"></a>00040 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
 <a name="l00041"></a>00041
-<a name="l00043"></a>00043 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="l00044"></a>00044 <span class="keywordflow">try</span> {
-<a name="l00045"></a>00045 <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="l00046"></a>00046 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00047"></a>00047 <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#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
-<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#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(xint::integer(n1), xint::integer(n2)));
-<a name="l00055"></a>00055 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00056"></a>00056 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059
-<a name="l00061"></a>00061 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="l00062"></a>00062 <span class="keywordflow">try</span> {
-<a name="l00063"></a>00063 <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="l00064"></a>00064 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00065"></a>00065 <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 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="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa7ba6c482e1526b25e6e946daf3a97ba">divide_r</a>(dividend, divisor).first;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00078"></a>00078 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="l00079"></a>00079 <span class="keywordflow">try</span> {
-<a name="l00080"></a>00080 <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="l00081"></a>00081 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00082"></a>00082 <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="l00083"></a>00083 }
-<a name="l00084"></a>00084 }
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 } <span class="comment">// namespace xint</span>
-<a name="l00087"></a>00087 } <span class="comment">// namespace boost</span>
+<a name="l00042"></a>00042 nothrow_integer nn(n);
+<a name="l00043"></a>00043 nn._toggle_negative();
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(nn);
+<a name="l00045"></a>00045 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049
+<a name="l00051"></a>00051 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
+<a name="l00052"></a>00052 <span class="keywordflow">try</span> {
+<a name="l00053"></a>00053 nothrow_integer r;
+<a name="l00054"></a>00054 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">detail::add</a>(r, n1, n2);
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00056"></a>00056 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00062"></a>00062 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> nothrow_integer&amp; n1, <span class="keyword">const</span> nothrow_integer&amp; n2) {
+<a name="l00063"></a>00063 <span class="keywordflow">try</span> {
+<a name="l00064"></a>00064 nothrow_integer r;
+<a name="l00065"></a>00065 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">detail::subtract</a>(r, n1, n2);
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00067"></a>00067 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00073"></a>00073 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> nothrow_integer&amp; n, <span class="keyword">const</span> nothrow_integer&amp; by) {
+<a name="l00074"></a>00074 <span class="keywordflow">try</span> {
+<a name="l00075"></a>00075 nothrow_integer r;
+<a name="l00076"></a>00076 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">detail::multiply</a>(r, n, by);
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00078"></a>00078 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082
+<a name="l00084"></a>00084 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;
+<a name="l00085"></a>00085 divisor)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a> answer(<a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(dividend, divisor));
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(answer.quotient);
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090
+<a name="l00095"></a>00095 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> nothrow_integer&amp; d1, <span class="keyword">const</span>
+<a name="l00096"></a>00096 nothrow_integer&amp; d2)
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keywordflow">try</span> {
+<a name="l00099"></a>00099 nothrow_integer q, r;
+<a name="l00100"></a>00100 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">detail::divide</a>(q, r, d1, d2);
+<a name="l00101"></a>00101 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>,
+<a name="l00102"></a>00102 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>( <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q), <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r)));
+<a name="l00103"></a>00103 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00104"></a>00104 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>,
+<a name="l00105"></a>00105 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a65b4d583927453701d33aa35d727132a">nothrow_integer::divide_t</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>(),
+<a name="l00106"></a>00106 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>()));
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 } <span class="comment">// namespace xint</span>
+<a name="l00111"></a>00111 } <span class="comment">// namespace boost</span>
 </pre></div></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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__random_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__random_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -50,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__random_8cpp_source.html">nothrow_random.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__random_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,7 +36,7 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
@@ -56,7 +55,7 @@
 <a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
 <a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__roots_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__roots_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -50,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__roots_8cpp_source.html">nothrow_roots.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__roots_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__roots_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__roots_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,23 +36,25 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
 <a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
 <a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#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">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="l00033"></a>00033 } <span class="comment">// namespace xint</span>
-<a name="l00034"></a>00034 } <span class="comment">// namespace boost</span>
+<a name="l00027"></a>00027 nothrow_integer r;
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">detail::sqrt</a>(r, n);
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00030"></a>00030 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 }
+<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 Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/operators_8cpp.html (original)
+++ sandbox/xint/doc/operators_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -40,26 +39,25 @@
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">boost::xint::operator-</a> (const integer &amp;a)</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.html#af0e2812ac56a264cd9a86243306ec0fb">boost::xint::operator+</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">boost::xint::operator-</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">boost::xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">boost::xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0f6171689ef68ff6672e43a1e24ea494">boost::xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16aa971521ae015a62ec015f1fe56d0">boost::xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae3770c0e356d50b5f3e2be573e6100cd">boost::xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9a2859e7b5e532eaa0cc51aba4f958c2">boost::xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a115e84b56b4e5e00d0b2b5c8a407ef97">boost::xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab054d123a003a31c06bac92a1f325805">boost::xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">boost::xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9524e5e34757cb10a146012bc4192643">boost::xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4896e1fc3c8d0adb4911cf5b78304f49">boost::xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the basic math operators. </p>
 
 <p>Definition in file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/operators_8cpp_source.html (original)
+++ sandbox/xint/doc/operators_8cpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -37,24 +36,23 @@
 <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="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <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">const</span> integer&amp; <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">operator+</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> a; }
-<a name="l00023"></a>00023 integer <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">operator-</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(a); }
-<a name="l00024"></a>00024 integer <a class="code" href="namespaceboost_1_1xint.html#a7445ea22d360a39fd330f9c53ca550f3">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.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(num1, num2); }
-<a name="l00025"></a>00025 integer <a class="code" href="namespaceboost_1_1xint.html#afbf48bed2400e2eec3fd9544420357f3">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.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(num1, num2); }
-<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">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.html#af844548a421cfc751133081b334dbe4b">multiply</a>(num1, num2); }
-<a name="l00027"></a>00027 integer <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">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.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(num1, num2); }
-<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">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.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(num1, num2); }
-<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">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.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(n1, n2); }
-<a name="l00030"></a>00030 integer <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">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.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(n1, n2); }
-<a name="l00031"></a>00031 integer <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">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.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(n1, n2); }
-<a name="l00032"></a>00032 } <span class="comment">// namespace xint</span>
-<a name="l00033"></a>00033 } <span class="comment">// namespace boost</span>
+<a name="l00022"></a><a class="code" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">00022</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">operator-</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(a); }
+<a name="l00023"></a>00023 integer <a class="code" href="namespaceboost_1_1xint.html#a69d186688f404f1608663142da86158c">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.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(num1, num2); }
+<a name="l00024"></a>00024 integer <a class="code" href="namespaceboost_1_1xint.html#ad51e8e59ad1ff61dcdd462bf9d8acf08">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.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(num1, num2); }
+<a name="l00025"></a>00025 integer <a class="code" href="namespaceboost_1_1xint.html#aadeb3206628bdfd3112db2d80fff7c92">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.html#af844548a421cfc751133081b334dbe4b">multiply</a>(num1, num2); }
+<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint.html#a83d07bf51fce0b4644b2190278c30413">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.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(num1, num2); }
+<a name="l00027"></a>00027 integer <a class="code" href="namespaceboost_1_1xint.html#a2261cdd3b6c689b76cc379ac515e5d45">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.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(num1, num2); }
+<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint.html#a97db617d1b8d73ca35c8ef41ec7e9a31">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.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(n1, n2); }
+<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint.html#ae1b86fdde7f84fbcbe39cec5ecc0bc8c">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.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(n1, n2); }
+<a name="l00030"></a>00030 integer <a class="code" href="namespaceboost_1_1xint.html#a2b27999f391ede4a2ec60ee83e6e5060">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.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(n1, n2); }
+<a name="l00031"></a>00031 } <span class="comment">// namespace xint</span>
+<a name="l00032"></a>00032 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/pages.html
==============================================================================
--- sandbox/xint/doc/pages.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Page Index</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li class="current">Related Pages</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
-<li><a class="el" href="todo.html">Todo List</a>
-</li>
-</ul>
-</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/powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/powers_8cpp.html (original)
+++ sandbox/xint/doc/powers_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,25 +38,33 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#af5a00863dc0d17859957738dbc22b98f">boost::xint::detail::factorial</a> (base_integer &amp;target, size_t n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ac81c5a94831c7aea3a665eb33491ebe2">boost::xint::detail::pow</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#abdd8d6819281b304dad578d720e5a651">boost::xint::detail::sqr</a> (base_integer &amp;target, const base_integer &amp;n)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint::factorial</a> (size_t n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">boost::xint::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7">boost::xint::pow2</a> (size_t e)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>2</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aa7d7b30f587c98ad31b8d421b8813c61">boost::xint::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of n<sup>e</sup> <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab">boost::xint::factorial</a> (size_t n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for functions related to powers of a number. </p>
 
 <p>Definition in file <a class="el" href="powers_8cpp_source.html">powers.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/primes.html
==============================================================================
--- sandbox/xint/doc/primes.html (original)
+++ sandbox/xint/doc/primes.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -66,7 +65,7 @@
 }
 </pre></div><p>(You can find it in the <code>examples</code> directory, by the name <code>genprime.cpp</code>.) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/primes_8cpp.html (original)
+++ sandbox/xint/doc/primes_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,6 +42,7 @@
 <tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint::is_prime</a> (const fixed_integer_any &amp;n, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
@@ -53,7 +53,7 @@
 
 <p>Definition in file <a class="el" href="primes_8cpp_source.html">primes.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/primes_8dox.html
==============================================================================
--- sandbox/xint/doc/primes_8dox.html (original)
+++ sandbox/xint/doc/primes_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/primes.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/primitives_8cpp.html (original)
+++ sandbox/xint/doc/primitives_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,31 +38,41 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ab9babbdf59f52b65d8cecc33e20e0a3f">boost::xint::detail::add</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0032a7ede8873065bda17e3ab96897db">boost::xint::detail::divide</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a30a579455d99a87796390eb2fbf4498a">boost::xint::detail::divide</a> (base_integer &amp;qtarget, base_integer &amp;rtarget, const base_integer &amp;d1, const base_integer &amp;d2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae35185e26f2828524b2830778186ac19">boost::xint::detail::multiply</a> (base_integer &amp;target, const base_integer &amp;n, const base_integer &amp;by)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a0424e97ecd4549ba637bbf16e31f3047">boost::xint::detail::subtract</a> (base_integer &amp;target, const base_integer &amp;n1, const base_integer &amp;n2)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical primitives</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp196dd2a5f50860e057df961a96d84ea3"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a19a0491b2825f010e9dd66ca50ab5672">boost::xint::abs</a> (const integer &amp;n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of an integer. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">boost::xint::negate</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5f82fa6b23e9af01292440248b89210d">boost::xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the sum of two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a4892543bb8ccfa8acb188a63a3d4723b">boost::xint::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>. <br/></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.html#a0fff3b235a18c0b3243a1ccc01a68f23">boost::xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer::divide_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aab594b314b957c668fb8d21cea175ff4">boost::xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate how many <code>dividends</code> would fit into <code>divisor</code>, with the remainder. <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#a9e0d6ad947fa3e979ed6e26d7e81ab7f">boost::xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the product of two integers. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a84190f7b286de191e8026e440f104731">boost::xint::negate</a> (const integer &amp;n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the additive inverse of an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the difference between two integers. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for math primitives. </p>
 
 <p>Definition in file <a class="el" href="primitives_8cpp_source.html">primitives.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/r__core.html
==============================================================================
--- sandbox/xint/doc/r__core.html (original)
+++ sandbox/xint/doc/r__core.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -32,7 +31,7 @@
 <p>To deal with this, I separated the <code>xint::integer</code> and <code>xint::nothrow_integer</code> types. <code>xint::integer</code> functions now always throw exceptions on errors, and always hold valid numbers; <code>xint::nothrow_integer</code> functions (as implied by the name) never throw exceptions, instead returning the Not-a-Number value (which only <code>xint::nothrow_integer</code> can hold).</p>
 <p>This design ensures that the Not-a-Number value only needs to be checked for in a single place (the <code>xint::integer</code> conversion constructor), and ensures that any speed penalty from it is only incurred by people who choose to use the <code>nothrow_integer</code> type. It also preserves the no-exceptions behavior, which is useful under some circumstances. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__core_8dox.html
==============================================================================
--- sandbox/xint/doc/r__core_8dox.html (original)
+++ sandbox/xint/doc/r__core_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_core.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__cow.html
==============================================================================
--- sandbox/xint/doc/r__cow.html (original)
+++ sandbox/xint/doc/r__cow.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -24,10 +23,10 @@
 <div class="contents">
 
 
-<h1><a class="anchor" id="r_cow">Why use copy-on-write? I've heard that causes problems with multi-threaded code. </a></h1><p>It's the best way I found to return large <code>integer</code> objects from functions efficiently. Some of these numbers can get huge, and move semantics aren't yet in the current standard. (Once they are, I'll consider removing the copy-on-write stuff.) It is also more CPU- and memory-efficient.</p>
-<p>It <em>does</em> cause problems when you try to use the library from multiple threads at the same time. To deal with that, the library can be compiled in a <a class="el" href="threadsafe.html">thread-safe mode</a>, which ensures that every <code>integer</code> gets its own unique storage, among other things. You still have to ensure that only one thread accesses a particular <code>integer</code> at a time. </p>
+<h1><a class="anchor" id="r_cow">Why use copy-on-write? I've heard that causes problems with multi-threaded code. </a></h1><p>It's the best way I found to return large <code>integer</code> objects from functions efficiently. Some of these numbers can get huge, making copying an expensive proposition, and even move semantics (at least as emulated by Boost.Move at the time of this writing) aren't as fast. Copy-on-write also works when storing items in the standard containers; Boost.Move emulation requires special move-aware containers.</p>
+<p>It <em>does</em> cause problems when you try to use the library from multiple threads at the same time. To deal with that, the library can be compiled in a <a class="el" href="threadsafe.html">thread-safe mode</a>, which ensures that every <code>integer</code> gets its own unique storage and turns on Boost.Move move semantics, among other things. You still have to ensure that only one thread accesses a particular <code>integer</code> at a time. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__cow_8dox.html
==============================================================================
--- sandbox/xint/doc/r__cow_8dox.html (original)
+++ sandbox/xint/doc/r__cow_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_cow.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/r__default__necessary_8dox.html
==============================================================================
--- sandbox/xint/doc/r__default__necessary_8dox.html (original)
+++ sandbox/xint/doc/r__default__necessary_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_default_necessary.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/r__exception__blocking_8dox.html
==============================================================================
--- sandbox/xint/doc/r__exception__blocking_8dox.html (original)
+++ sandbox/xint/doc/r__exception__blocking_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_exception_blocking.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__insecure__default.html
==============================================================================
--- sandbox/xint/doc/r__insecure__default.html (original)
+++ sandbox/xint/doc/r__insecure__default.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,7 +25,7 @@
 
 <h1><a class="anchor" id="r_insecure_default">But why default to an insecure random number generator? Why not default to the secure one? </a></h1><p>Because the secure one isn't available on all systems. If the library relied on <code>random_device</code> as a default, it wouldn't compile under those systems. If it used <code>xint::strong_random_generator</code>, it would compile, but would always fail on them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__insecure__default_8dox.html
==============================================================================
--- sandbox/xint/doc/r__insecure__default_8dox.html (original)
+++ sandbox/xint/doc/r__insecure__default_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_insecure_default.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface.html
==============================================================================
--- sandbox/xint/doc/r__interface.html (original)
+++ sandbox/xint/doc/r__interface.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -29,7 +28,7 @@
 <dd>
 n1744: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1744.pdf </dd></dl>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface_8dox.html
==============================================================================
--- sandbox/xint/doc/r__interface_8dox.html (original)
+++ sandbox/xint/doc/r__interface_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_interface.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface__design__only.html
==============================================================================
--- sandbox/xint/doc/r__interface__design__only.html (original)
+++ sandbox/xint/doc/r__interface__design__only.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -31,7 +30,7 @@
 <li>It does not, at present, implement a multiplication scheme with better performance than the "basecase" mentioned in section 3.4 of n1692, primarily because I haven't had the time to research all of them yet. I suspect that most people using the library will usually be using numbers below the threshold where the more exotic algorithms are faster, but I plan to add at least one of them in the future, maybe several. </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface__design__only_8dox.html
==============================================================================
--- sandbox/xint/doc/r__interface__design__only_8dox.html (original)
+++ sandbox/xint/doc/r__interface__design__only_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_interface_design_only.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__nan.html
==============================================================================
--- sandbox/xint/doc/r__nan.html (original)
+++ sandbox/xint/doc/r__nan.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,7 +25,7 @@
 
 <h1><a class="anchor" id="r_nan">Why have a Not-a-Number value? </a></h1><p>Because it's the cleanest way I could find to return answers that don't represent a valid number, which is necessary for the <code>nothrow_integer</code> type. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__nan_8dox.html
==============================================================================
--- sandbox/xint/doc/r__nan_8dox.html (original)
+++ sandbox/xint/doc/r__nan_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__negzero.html
==============================================================================
--- sandbox/xint/doc/r__negzero.html (original)
+++ sandbox/xint/doc/r__negzero.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,7 +25,7 @@
 
 <h1><a class="anchor" id="r_negzero">Since you've got Not-a-Number, what about negative zero, and positive and negative infinity, like IEEE floating-point numbers? </a></h1><p>The library does have limited support for a <a class="el" href="zero.html">"negative zero"</a> value, to support an unlimited-precision floating point type that will be built on it later. But infinity is a concept, not a countable value, and as such it is not included in the library at present. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__negzero_8dox.html
==============================================================================
--- sandbox/xint/doc/r__negzero_8dox.html (original)
+++ sandbox/xint/doc/r__negzero_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_negzero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__random.html
==============================================================================
--- sandbox/xint/doc/r__random.html (original)
+++ sandbox/xint/doc/r__random.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,7 +25,7 @@
 
 <h1><a class="anchor" id="r_random">Why did you implement your own random number generator? You should use Boost.Random instead. </a></h1><p>Boost.Random provides <code>boost::random_device</code> to tap into the operating system's strong random number generator, but at the time of this writing, the official released version only defines it for Linux and BSD systems. The current maintainer, Steven Watanabe, says that he has just added Windows compatibility to it, so the <code>xint::strong_random_generator</code> class will likely be reduced to a typedef for <code>boost::random_device</code>, or a thin shell around it, in the near future. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__random_8dox.html
==============================================================================
--- sandbox/xint/doc/r__random_8dox.html (original)
+++ sandbox/xint/doc/r__random_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__shared__ptr.html
==============================================================================
--- sandbox/xint/doc/r__shared__ptr.html (original)
+++ sandbox/xint/doc/r__shared__ptr.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,7 +25,7 @@
 
 <h1><a class="anchor" id="r_shared_ptr">Why are you using a roll-your-own system instead of <code>boost::shared_ptr</code> for the copy-on-write stuff? </a></h1><p>Because it's a lot faster. I tried <code>boost::shared_ptr</code>, and under Linux with GCC 4.4.1 on the same computer, running my test suite went from 1.6 seconds to 3.4 seconds. The home-grown shared pointer design may not be quite as easy to work with in an exception-safe manner, but that's completely internal to the <code>integer</code> class, so only developers working <em>on</em> the library, rather than <em>with</em> it, have to deal with that. I'll accept that trade-off. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__shared__ptr_8dox.html
==============================================================================
--- sandbox/xint/doc/r__shared__ptr_8dox.html (original)
+++ sandbox/xint/doc/r__shared__ptr_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_shared_ptr.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/random_8cpp.html
==============================================================================
--- sandbox/xint/doc/random_8cpp.html (original)
+++ sandbox/xint/doc/random_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -45,9 +44,9 @@
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail::get_random</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail::set_random_generator</a> (base_random_generator *obj)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail::get_random</a> ()</td></tr>
 <tr><td 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>
@@ -59,7 +58,7 @@
 
 <p>Definition in file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/random_8dox.html
==============================================================================
--- sandbox/xint/doc/random_8dox.html (original)
+++ sandbox/xint/doc/random_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8hpp.html
==============================================================================
--- sandbox/xint/doc/random_8hpp.html (original)
+++ sandbox/xint/doc/random_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -33,12 +32,12 @@
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for cryptographically-secure random numbers. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support class for the random generator code. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for cryptographically-secure random numbers. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <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>
@@ -52,19 +51,19 @@
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail::set_random_generator</a> (base_random_generator *obj)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">boost::xint::detail::get_random</a> ()</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">boost::xint::set_random_generator</a> (T *gen)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8">boost::xint::detail::set_random_generator</a> (base_random_generator *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support function. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares items relating to random numbers. </p>
 
 <p>Definition in file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/random_8hpp_source.html (original)
+++ sandbox/xint/doc/random_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -71,39 +70,40 @@
 <a name="l00057"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">00057</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> {
 <a name="l00058"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">00058</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>;
 <a name="l00059"></a>00059 <span class="keyword">virtual</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a>()=0;
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
-<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
-<a name="l00064"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html">00064</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>: <span class="keyword">public</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> {
-<a name="l00065"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">00065</a> <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>;
-<a name="l00066"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">00066</a> <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a>;
-<a name="l00067"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">00067</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a>(T *g): <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>(g), <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(*g,
-<a name="l00068"></a>00068 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>((std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::min)(),
-<a name="l00069"></a>00069 (std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::max)())) { }
-<a name="l00070"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">00070</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a>() { <span class="keywordflow">return</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(); }
-<a name="l00071"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">00071</a> std::auto_ptr&lt;T&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>;
-<a name="l00072"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">00072</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>;
-<a name="l00073"></a>00073 };
-<a name="l00074"></a>00074
-<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">set_random_generator</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> *obj);
-<a name="l00077"></a>00077
-<a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">get_random</a>();
-<a name="l00083"></a>00083 } <span class="comment">// namespace detail</span>
-<a name="l00084"></a>00084
-<a name="l00086"></a>00086 <span class="comment">// Template function definitions</span>
-<a name="l00087"></a>00087
-<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00102"></a><a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">00102</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">set_random_generator</a>(T *gen) {
-<a name="l00103"></a>00103 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a> *obj=<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a>(gen);
-<a name="l00104"></a>00104 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">detail::set_random_generator</a>(obj);
-<a name="l00105"></a>00105 }
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 } <span class="comment">// namespace xint</span>
-<a name="l00108"></a>00108 } <span class="comment">// namespace boost</span>
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
+<a name="l00060"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">00060</a> <span class="keyword">virtual</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>() { }
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00065"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html">00065</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>: <span class="keyword">public</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> {
+<a name="l00066"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">00066</a> <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>;
+<a name="l00067"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">00067</a> <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a>;
+<a name="l00068"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">00068</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a>(T *g): <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>(g), <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(*g,
+<a name="l00069"></a>00069 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a>((std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::min)(),
+<a name="l00070"></a>00070 (std::numeric_limits&lt;<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&gt;::max)())) { }
+<a name="l00071"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">00071</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a>() { <span class="keywordflow">return</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>(); }
+<a name="l00072"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">00072</a> std::auto_ptr&lt;T&gt; <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a>;
+<a name="l00073"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">00073</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a>;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">set_random_generator</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html" title="The base class for random_generator.">base_random_generator</a> *obj);
+<a name="l00078"></a>00078
+<a name="l00083"></a>00083 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a6486d7febde540f90921e9925d077534">get_random</a>();
+<a name="l00084"></a>00084 } <span class="comment">// namespace detail</span>
+<a name="l00085"></a>00085
+<a name="l00087"></a>00087 <span class="comment">// Template function definitions</span>
+<a name="l00088"></a>00088
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00103"></a><a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6">00103</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">set_random_generator</a>(T *gen) {
+<a name="l00104"></a>00104 <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a> *obj=<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">detail::random_generator&lt;T&gt;</a>(gen);
+<a name="l00105"></a>00105 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a17e1b4fcb11ff18fd2641dc43ee905b8" title="Support function.">detail::set_random_generator</a>(obj);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 } <span class="comment">// namespace xint</span>
+<a name="l00109"></a>00109 } <span class="comment">// namespace boost</span>
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale.html
==============================================================================
--- sandbox/xint/doc/rationale.html (original)
+++ sandbox/xint/doc/rationale.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -29,7 +28,6 @@
 <ul>
 <li><a class="el" href="r__interface.html">Why did you do <em>X</em> in the interface?</a></li>
 <li><a class="el" href="r__interface__design__only.html">Then why didn't you follow those exactly?</a></li>
-<li><a class="el" href="r__core.html">What's with the <code>nothrow_integer</code> type?</a></li>
 </ul>
 <h2><a class="anchor" id="scow">
 Copy-on-Write</a></h2>
@@ -41,6 +39,7 @@
 Not-a-Number and The nothrow_integer Type</a></h2>
 <ul>
 <li><a class="el" href="r__nan.html">Why have a Not-a-Number value?</a></li>
+<li><a class="el" href="r__core.html">What's with the <code>nothrow_integer</code> type?</a></li>
 <li><a class="el" href="r__exception__blocking.html">Why have a nothrow_integer type at all?</a></li>
 <li><a class="el" href="r__negzero.html">Since you've got Not-a-Number, what about negative zero, and positive and negative infinity, like IEEE floating-point numbers?</a></li>
 </ul>
@@ -52,7 +51,7 @@
 <li><a class="el" href="r__default__necessary.html">Okay, then why not make the developer provide one?</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale_8dox.html
==============================================================================
--- sandbox/xint/doc/rationale_8dox.html (original)
+++ sandbox/xint/doc/rationale_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/rationale.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/roots_8cpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -39,7 +38,13 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<br/></td></tr>
+</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#aca96f8988b99f3d7153073ef408b875d">boost::xint::detail::sqrt</a> (base_integer &amp;target, const base_integer &amp;nn)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
@@ -51,7 +56,7 @@
 
 <p>Definition in file <a class="el" href="roots_8cpp_source.html">roots.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

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

Modified: sandbox/xint/doc/securemode.html
==============================================================================
--- sandbox/xint/doc/securemode.html (original)
+++ sandbox/xint/doc/securemode.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -28,7 +27,7 @@
 <p>To enable it, define the preprocessor symbol <code>XINT_SECURE</code> when compiling the library. You don't need to define it when using the library, only when compiling it.</p>
 <p>To see whether your copy was compiled with secure-mode enabled, use the xint::opt_secure_mode function. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/securemode_8dox.html
==============================================================================
--- sandbox/xint/doc/securemode_8dox.html (original)
+++ sandbox/xint/doc/securemode_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/securemode.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: 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/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -30,8 +29,9 @@
 <h1>boost::xint::detail::base_random_generator Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a>()=0</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [pure virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html (original)
+++ sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -49,6 +48,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a></td></tr>
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">operator()</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a> ()</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a>. </p>
@@ -70,6 +70,26 @@
 
 </div>
 </div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3076d65f9619bb48bbce334b0550b507"></a><!-- doxytag: member="boost::xint::detail::base_random_generator::~base_random_generator" ref="a3076d65f9619bb48bbce334b0550b507" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual boost::xint::detail::base_random_generator::~base_random_generator </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00060">60</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+
+</div>
+</div>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="ae6981f9d0ce6b201c150a5c9c6066814"></a><!-- doxytag: member="boost::xint::detail::base_random_generator::operator()" ref="ae6981f9d0ce6b201c150a5c9c6066814" args="()=0" -->
 <div class="memitem">
@@ -94,7 +114,7 @@
 <li><a class="el" href="random_8hpp_source.html">random.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html (original)
+++ sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -27,13 +26,14 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::detail::data_t&lt; digit_count &gt; Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t&lt; digit_count &gt;</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a></td><td><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></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a></td><td><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></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a></td><td><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></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a></td><td><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></td></tr>
+<h1>boost::xint::detail::data_t Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">fixed_mask</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a></td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html (original)
+++ sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html 2010-04-30 00:35:51 EDT (Fri, 30 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: boost::xint::detail::data_t&lt; digit_count &gt; Struct Template Reference</title>
+<title>The Extended Integer (XInt) Library: boost::xint::detail::data_t Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -29,91 +28,99 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::detail::data_t&lt; digit_count &gt; Struct Template Reference</h1><!-- doxytag: class="boost::xint::detail::data_t" -->
+<h1>boost::xint::detail::data_t Struct Reference</h1><!-- doxytag: class="boost::xint::detail::data_t" -->
 <p>Holds the magnitude digits of an integer.
 <a href="#_details">More...</a></p>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a> [digit_count]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">fixed_mask</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For the topmost digit; zero for variable-sized. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">magnitude</a> [1]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;int digit_count = 1&gt;<br/>
- struct boost::xint::detail::data_t&lt; digit_count &gt;</h3>
-
 <p>Holds the magnitude digits of an integer. </p>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00069">69</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00119">119</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a2c4e92bbb54af690e1a53e2c02196e52"></a><!-- doxytag: member="boost::xint::detail::data_t::copies" ref="a2c4e92bbb54af690e1a53e2c02196e52" args="" -->
+<a class="anchor" id="a75fbdec9c81fcd83302e479ed2cae3c0"></a><!-- doxytag: member="boost::xint::detail::data_t::copies" ref="a75fbdec9c81fcd83302e479ed2cae3c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">boost::xint::detail::data_t::copies</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ecd68cad8903d2b85c295279df5cf99"></a><!-- doxytag: member="boost::xint::detail::data_t::fixed_mask" ref="a5ecd68cad8903d2b85c295279df5cf99" args="" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;int digit_count = 1&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>&lt; digit_count &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a2c4e92bbb54af690e1a53e2c02196e52">copies</a></td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a5ecd68cad8903d2b85c295279df5cf99">boost::xint::detail::data_t::fixed_mask</a></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00070">70</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>For the topmost digit; zero for variable-sized. </p>
+
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00121">121</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="acf4a8986615aba673c134a4f56c3bf53"></a><!-- doxytag: member="boost::xint::detail::data_t::length" ref="acf4a8986615aba673c134a4f56c3bf53" args="" -->
+<a class="anchor" id="a081b825b5fb98a03909fa3280e658c8c"></a><!-- doxytag: member="boost::xint::detail::data_t::length" ref="a081b825b5fb98a03909fa3280e658c8c" args="" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;int digit_count = 1&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>&lt; digit_count &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#acf4a8986615aba673c134a4f56c3bf53">length</a></td>
+ <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">boost::xint::detail::data_t::length</a></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00070">70</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aacce731ac73c34cab97ed3a86b16056a"></a><!-- doxytag: member="boost::xint::detail::data_t::magnitude" ref="aacce731ac73c34cab97ed3a86b16056a" args="[digit_count]" -->
+<a class="anchor" id="a47e251676febcdbf5ed47e13491c81b3"></a><!-- doxytag: member="boost::xint::detail::data_t::magnitude" ref="a47e251676febcdbf5ed47e13491c81b3" args="[1]" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;int digit_count = 1&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>&lt; digit_count &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#aacce731ac73c34cab97ed3a86b16056a">magnitude</a>[digit_count]</td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a47e251676febcdbf5ed47e13491c81b3">boost::xint::detail::data_t::magnitude</a>[1]</td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00071">71</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00122">122</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ac861550f6fa834587a7fafc24e006d22"></a><!-- doxytag: member="boost::xint::detail::data_t::max_length" ref="ac861550f6fa834587a7fafc24e006d22" args="" -->
+<a class="anchor" id="af6047dff158ec443f2f73d012710d4cd"></a><!-- doxytag: member="boost::xint::detail::data_t::max_length" ref="af6047dff158ec443f2f73d012710d4cd" args="" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;int digit_count = 1&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a>&lt; digit_count &gt;::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#ac861550f6fa834587a7fafc24e006d22">max_length</a></td>
+ <td class="memname">size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">boost::xint::detail::data_t::max_length</a></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00070">70</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00120">120</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -121,7 +128,7 @@
 <li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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::data_t::QuickDigits Member List</h1>This is the complete list of members for <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html">boost::xint::detail::data_t::QuickDigits</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#ae820a83ad097f0cc70ba3f53ea00ab70">count</a></td><td><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><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#adbe737b8debc83a5a1fc0f92e39c6aa7">intbits</a></td><td><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><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a></td><td><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><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a></td><td><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><code> [static]</code></td></tr>
-</table></div>
-<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>
-</html>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,124 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::data_t::QuickDigits Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a>::<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html">QuickDigits</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::data_t::QuickDigits Struct Reference</h1><!-- doxytag: class="boost::xint::detail::data_t::QuickDigits" -->
-<p>Holds information determining how many quick-digits to use.
-More...</p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#adbe737b8debc83a5a1fc0f92e39c6aa7">intbits</a> = std::numeric_limits&lt;unsigned int&gt;::digits</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a> = (2*<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#adbe737b8debc83a5a1fc0f92e39c6aa7">intbits</a>/<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We want at least enough <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html" title="Holds information determining how many quick-digits to use.">QuickDigits</a> to hold two standard int types. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a> = 3</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The library's code is written to depend on this value, don't lower it. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#ae820a83ad097f0cc70ba3f53ea00ab70">count</a> = (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a> &lt; <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a> ? <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a> : <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a>)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Holds information determining how many quick-digits to use. </p>
-<p>Smaller numbers are represented in a small array of digits that are part of the <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html#a9db58339e358806eae3dbcad5e31cb83">data_t</a> 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. </p>
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00045">45</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="ae820a83ad097f0cc70ba3f53ea00ab70"></a><!-- doxytag: member="boost::xint::detail::data_t::QuickDigits::count" ref="ae820a83ad097f0cc70ba3f53ea00ab70" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#ae820a83ad097f0cc70ba3f53ea00ab70">boost::xint::detail::data_t::QuickDigits::count</a> = (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a> &lt; <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a> ? <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">minimum</a> : <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">suggested</a>)<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00049">49</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adbe737b8debc83a5a1fc0f92e39c6aa7"></a><!-- doxytag: member="boost::xint::detail::data_t::QuickDigits::intbits" ref="adbe737b8debc83a5a1fc0f92e39c6aa7" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#adbe737b8debc83a5a1fc0f92e39c6aa7">boost::xint::detail::data_t::QuickDigits::intbits</a> = std::numeric_limits&lt;unsigned int&gt;::digits<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00046">46</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8f2061e90bb9e89949f10f57accc1bbb"></a><!-- doxytag: member="boost::xint::detail::data_t::QuickDigits::minimum" ref="a8f2061e90bb9e89949f10f57accc1bbb" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#a8f2061e90bb9e89949f10f57accc1bbb">boost::xint::detail::data_t::QuickDigits::minimum</a> = 3<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>The library's code is written to depend on this value, don't lower it. </p>
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00048">48</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aef1507c481b9f7d7326a7bee422906ae"></a><!-- doxytag: member="boost::xint::detail::data_t::QuickDigits::suggested" ref="aef1507c481b9f7d7326a7bee422906ae" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#aef1507c481b9f7d7326a7bee422906ae">boost::xint::detail::data_t::QuickDigits::suggested</a> = (2*<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html#adbe737b8debc83a5a1fc0f92e39c6aa7">intbits</a>/<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>)<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>We want at least enough <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html" title="Holds information determining how many quick-digits to use.">QuickDigits</a> to hold two standard int types. </p>
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00047">47</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a></li>
-</ul>
-</div>
-<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>
-</html>

Modified: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html (original)
+++ sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -35,8 +34,9 @@
   <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a>(T *g)</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">boost::xint::detail::random_generator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a> typedef</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a3076d65f9619bb48bbce334b0550b507">~base_random_generator</a>()</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html (original)
+++ sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li class="current">Classes</li>
       <li>Files</li>
@@ -52,11 +51,11 @@
 boost::variate_generator&lt; T <br class="typebreak"/>
 &amp;, <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#ae206a1943d1e8d15efdf443f59cf1106">dist_t</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a></td></tr>
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a> (T *g)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#a9694aa7d11ac533581d530037f23fd0a">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a46fa82c3887acbfc9a0d1f3071aa8c96">operator()</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a551b3fe4b897e4f86c7463586c6292ce">random_generator</a> (T *g)</td></tr>
 <tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a77f59e8237e125403e5304a54bf8e418">gen_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a28fd023763b7e984033a3d7e632e41df">gen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html#a6283923082acfdbeceb294acb0ee1075">genobj</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;class T&gt;<br/>
@@ -64,7 +63,7 @@
 
 <p>Support class for the random generator code. </p>
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00064">64</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00065">65</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 <hr/><h2>Member Typedef Documentation</h2>
 <a class="anchor" id="ae206a1943d1e8d15efdf443f59cf1106"></a><!-- doxytag: member="boost::xint::detail::random_generator::dist_t" ref="ae206a1943d1e8d15efdf443f59cf1106" args="" -->
 <div class="memitem">
@@ -79,7 +78,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00065">65</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00066">66</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -96,7 +95,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00066">66</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00067">67</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -119,7 +118,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00067">67</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00068">68</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -143,7 +142,7 @@
 
 <p>Implements <a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html#ae6981f9d0ce6b201c150a5c9c6066814">boost::xint::detail::base_random_generator</a>.</p>
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00070">70</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00071">71</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -161,7 +160,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00072">72</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00073">73</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -178,7 +177,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00071">71</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00072">72</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -186,7 +185,7 @@
 <li><a class="el" href="random_8hpp_source.html">random.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:29 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1token.html
==============================================================================
--- sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1token.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::detail::token Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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="structboost_1_1xint_1_1detail_1_1token.html">token</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::detail::token Struct Reference</h1><!-- doxytag: class="boost::xint::detail::token" -->
-<p>An empty struct, used in <a class="el" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">xint::token</a>.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>An empty struct, used in <a class="el" href="namespaceboost_1_1xint.html#a8554e5ef0fa7ba2da83c8f01a9bb1128" title="Used for the exception-blocker.">xint::token</a>. </p>
-
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00069">69</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
-</ul>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 03:20:10 2010 for The Extended Integer (XInt) Library by&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/testing.html
==============================================================================
--- sandbox/xint/doc/testing.html (original)
+++ sandbox/xint/doc/testing.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -27,7 +26,7 @@
 <h1><a class="anchor" id="testing">The Self-Testing Program </a></h1><p>The library has a self-testing program that you can build and run to confirm that it is working properly. You can find the source code for it in the <code>test</code> subdirectory under the main <code>xint</code> directory. All of the major functions are thoroughly exercised, and many of the minor ones as well.</p>
 <p>The source code for the testing program also demonstrates how to use many of the library's functions. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/testing_8dox.html
==============================================================================
--- sandbox/xint/doc/testing_8dox.html (original)
+++ sandbox/xint/doc/testing_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/testing.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe.html
==============================================================================
--- sandbox/xint/doc/threadsafe.html (original)
+++ sandbox/xint/doc/threadsafe.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -27,9 +26,9 @@
 <h1><a class="anchor" id="threadsafe">Thread-Safe Operation </a></h1><p>This library, by default, can only safely be used in one thread at a time. If you need thread-safe operation, you must compile it with the thread-safe option enabled (see below), and you must ensure that only one thread ever accesses a particular integer at a time. The library cannot automatically provide this protection without an unacceptably severe speed penalty.</p>
 <p>To enable thread-safe operations, define the preprocessor symbol <code>XINT_THREADSAFE</code> when compiling the library. You don't need to define it when using the library, only when compiling it.</p>
 <dl class="note"><dt><b>Note:</b></dt><dd>When the library is compiled with the thread-safe option, all programs that link to it must also link to the Boost.Thread library.</dd></dl>
-<p>To see whether your copy was compiled with thread-safe operation enabled, use the xint::opt_thread_safe function. </p>
+<p>To programatically check whether your copy was compiled with thread-safe operation enabled, use the xint::opt_thread_safe function. </p>
 </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;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe_8dox.html
==============================================================================
--- sandbox/xint/doc/threadsafe_8dox.html (original)
+++ sandbox/xint/doc/threadsafe_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/threadsafe.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/todo.html
==============================================================================
--- sandbox/xint/doc/todo.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Todo 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 class="current">Related Pages</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-
-
-<h1><a class="anchor" id="todo">Todo List </a></h1><p><a class="anchor" id="_todo000003"></a> </p>
-<dl>
-<dt>Namespace <a class="el" href="namespaceboost.html">boost</a> </dt>
-<dd>Move to <a class="el" href="random_8cpp.html" title="Contains the definitions for the random number functions.">random.cpp</a>? </dd>
-</dl>
-<p><a class="anchor" id="_todo000002"></a> </p>
-<dl>
-<dt>Member <a class="el" href="namespaceboost_1_1xint.html#afbba1eeb86e4e7610a75afbb89d594e3">boost::xint::sqr</a> (const integer &amp;n) </dt>
-<dd>Rewrite this to eliminate the inefficient addOverflow. </dd>
-</dl>
-<p><a class="anchor" id="_todo000001"></a> </p>
-<dl>
-<dt>File <a class="el" href="convert_8cpp.html">convert.cpp</a> </dt>
-<dd>the xint::to_string function could be made more efficient by using only doubledigit_t-sized pieces of the integer at a time, and dividing the whole thing by the total of the divisions done to get the digits. Same with the xint::from_string function. </dd>
-</dl>
-</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>

Modified: sandbox/xint/doc/xint_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint_8hpp.html (original)
+++ sandbox/xint/doc/xint_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -38,7 +37,7 @@
 
 <p>Definition in file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/xint_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/xint_8hpp_source.html (original)
+++ sandbox/xint/doc/xint_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -43,12 +42,13 @@
 <a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
 <a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="integer_8hpp.html" title="Declares the core integer type.">integer.hpp</a>&quot;</span>
 <a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="nothrow__integer_8hpp.html" title="Declares the xint::nothrow_integer class.">nothrow_integer.hpp</a>&quot;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;<a class="code" href="random_8hpp.html" title="Declares items relating to random numbers.">random.hpp</a>&quot;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</span>
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_HPP</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;<a class="code" href="fixed__integer_8hpp.html" title="Declares the fixed-size integer type.">fixed_integer.hpp</a>&quot;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="random_8hpp.html" title="Declares items relating to random numbers.">random.hpp</a>&quot;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>&quot;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:57 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:24 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/xint__data__t_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint__data__t_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_data_t.hpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>xint_data_t.hpp File Reference</h1>
-<p>Internal details of an xint::integer.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the magnitude digits of an integer. More...<br/></td></tr>
-<tr><td 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>
-<br/></td></tr>
-</p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">boost::xint::detail::allocate</a> (size_t max_digits, size_t initial_length)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">boost::xint::detail::reallocate</a> (data_t *olddata, size_t newsize)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#ae9e118dede42bef1f6e1dce0b3147193">boost::xint::detail::duplicate</a> (data_t *olddata, size_t extra)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a132c876c4d22cd65fe3ff8cf0d79cab5">boost::xint::detail::duplicate</a> (data_t *olddata, data_t *data_to_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="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">boost::xint::detail::deallocate</a> (data_t *data)</td></tr>
-<tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#afab2617e6ea96f6baaf3b6c08157adf6">boost::xint::detail::minimum_magnitude_digits</a> = 1</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Internal details of an xint::integer. </p>
-<p>This file contains the declaration for the data_t structure and the internal allocation functions for it. It should only be used by the library itself. </p>
-
-<p>Definition in file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/xint__data__t_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/xint__data__t_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_data_t.hpp 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>xint_data_t.hpp</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="l00022"></a>00022 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_DATA_T_H</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_DATA_T_H</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#if !defined(XINT_SECURE)</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;vector&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>boost {
-<a name="l00030"></a>00030 <span class="keyword">namespace </span>xint {
-<a name="l00031"></a>00031 <span class="keyword">namespace </span>detail {
-<a name="l00032"></a>00032
-<a name="l00033"></a><a class="code" href="namespaceboost_1_1xint_1_1detail.html#afab2617e6ea96f6baaf3b6c08157adf6">00033</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#afab2617e6ea96f6baaf3b6c08157adf6">minimum_magnitude_digits</a>=1;
-<a name="l00034"></a>00034
-<a name="l00040"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html">00040</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> {
-<a name="l00041"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">00041</a> <span class="keywordtype">size_t</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a75fbdec9c81fcd83302e479ed2cae3c0">copies</a>, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a081b825b5fb98a03909fa3280e658c8c">length</a>, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#af6047dff158ec443f2f73d012710d4cd">max_length</a>;
-<a name="l00042"></a><a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3bd03fa762c6ee4224682bacfe2138d0">00042</a> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3bd03fa762c6ee4224682bacfe2138d0">magnitude</a>[<a class="code" href="namespaceboost_1_1xint_1_1detail.html#afab2617e6ea96f6baaf3b6c08157adf6">minimum_magnitude_digits</a>];
-<a name="l00043"></a>00043 };
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a092b8b90955e65e858dfbdd1cc35b960">allocate</a>(<span class="keywordtype">size_t</span> max_digits, <span class="keywordtype">size_t</span> initial_length=
-<a name="l00046"></a>00046 (std::numeric_limits&lt;size_t&gt;::max)());
-<a name="l00047"></a>00047 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a1883fadafa2eeb3e70dfd9032f35bbdd">reallocate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <span class="keywordtype">size_t</span> newsize);
-<a name="l00048"></a>00048 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae9e118dede42bef1f6e1dce0b3147193">duplicate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <span class="keywordtype">size_t</span> extra=0);
-<a name="l00049"></a>00049 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ae9e118dede42bef1f6e1dce0b3147193">duplicate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *olddata, <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *data_to_copy, <span class="keywordtype">size_t</span> extra=0);
-<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a44089260e9472ac378d3e2ed739e7e08">deallocate</a>(<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the magnitude digits of an integer.">data_t</a> *data);
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 } <span class="comment">// namespace detail</span>
-<a name="l00053"></a>00053 } <span class="comment">// namespace xint</span>
-<a name="l00054"></a>00054 } <span class="comment">// namespace boost</span>
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_DATA_T_H</span>
-</pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/xint__monty_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint__monty_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_monty.hpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>xint_monty.hpp File Reference</h1>
-<p>Internally-used functions.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>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>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Montgomery Reduction functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpef45384829a28a8031424a8c453ceaa0"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aa6942deffea28a32072479fe663acaa2">boost::xint::core::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the low digit of the inverse of a number. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aff045b62b20e88d2e086dd64dcbba02e">boost::xint::core::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the most efficient R value for a number and the library's internal representation. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a4a33279cf67c53f80a4e5935f0515d4d">boost::xint::core::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery form of a number. Used for testing. <br/></td></tr>
-<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#a1d598caa371e7bffba98f78df726674e">boost::xint::core::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer from the Montgomery form of a number. Used for testing. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a902d87635063ba89629799b032e6a53d">boost::xint::core::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>mulmod(a, b, n)</code>. Used internally. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a407dceba39038bf606814ea84ff4d964">boost::xint::core::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Montgomery equivalent of <code>powmod(a, b, n)</code>. Used internally. <br/></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Internally-used functions. </p>
-<p>This file declares the functions that use the Montgomery Reduction. They are used internally to speed up the xint::powmod function for odd modulii. </p>
-
-<p>Definition in file <a class="el" href="xint__monty_8hpp_source.html">xint_monty.hpp</a>.</p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/xint__monty_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/xint__monty_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,65 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_monty.hpp 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>xint_monty.hpp</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="l00021"></a>00021 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_MONTY_H</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_MONTY_H</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span>
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>core {
-<a name="l00027"></a>00027
-<a name="l00030"></a>00030 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aa6942deffea28a32072479fe663acaa2" title="Returns the low digit of the inverse of a number. Used internally.">inverse0</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00031"></a>00031 integer <a class="code" href="namespaceboost_1_1xint_1_1core.html#aff045b62b20e88d2e086dd64dcbba02e" title="Returns the most efficient R value for a number and the library&amp;#39;s internal representation...">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00032"></a>00032 integer <a class="code" href="namespaceboost_1_1xint_1_1core.html#a4a33279cf67c53f80a4e5935f0515d4d" title="Returns the Montgomery form of a number. Used for testing.">toMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
-<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint_1_1core.html#a1d598caa371e7bffba98f78df726674e" title="Returns the integer from the Montgomery form of a number. Used for testing.">fromMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m);
-<a name="l00034"></a>00034 integer <a class="code" href="namespaceboost_1_1xint_1_1core.html#a902d87635063ba89629799b032e6a53d" title="Returns the Montgomery equivalent of mulmod(a, b, n). Used internally.">montgomeryMultiplyMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; y, <span class="keyword">const</span> integer&amp;
-<a name="l00035"></a>00035 m, <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> nPrime0);
-<a name="l00036"></a>00036 integer <a class="code" href="namespaceboost_1_1xint_1_1core.html#a407dceba39038bf606814ea84ff4d964" title="Returns the Montgomery equivalent of powmod(a, b, n). Used internally.">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m);
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 } <span class="comment">// namespace core</span>
-<a name="l00040"></a>00040 } <span class="comment">// namespace xint</span>
-<a name="l00041"></a>00041 } <span class="comment">// namespace boost</span>
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_H</span>
-</pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/xint__test_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint__test_8hpp.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_test.hpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>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>
-</div>
-<div class="contents">
-<h1>xint_test.hpp File Reference</h1>
-<p>Declares the library's self-testing functions.
-More...</p>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions 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">Self-Testing Functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpe91fba8935c0c10717694cc0393febf3"></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.html#a9d062367dfe2a79e4471c97d1ee101b2">boost::xint::testBitManipulations</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8b1647a9b23f45407df6d402852d06ae">boost::xint::testAddSubtract</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a87d760db18932efaafb906c0ebbdb50f">boost::xint::testMultiply</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aabf845d8d592d3576d7223fc29362b3a">boost::xint::testDivideMod</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aca8ead732f9dac3f23f53095eacd762e">boost::xint::testConvert</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ace6d9f008e78329286fc9003896667cd">boost::xint::testStreams</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6073c3037b644655bc752120b144e804">boost::xint::testMontyMultiply</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a099082cd8bbd0e994870ad89859e18c1">boost::xint::testMontyPowerMod</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Declares the library's self-testing functions. </p>
-
-<p>Definition in file <a class="el" href="xint__test_8hpp_source.html">xint_test.hpp</a>.</p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/xint__test_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/xint__test_8hpp_source.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
+++ (empty file)
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_test.hpp 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>xint_test.hpp</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">#ifndef BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<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="l00026"></a>00026 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a9d062367dfe2a79e4471c97d1ee101b2">testBitManipulations</a>();
-<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a8b1647a9b23f45407df6d402852d06ae">testAddSubtract</a>();
-<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a87d760db18932efaafb906c0ebbdb50f">testMultiply</a>();
-<a name="l00029"></a>00029 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aabf845d8d592d3576d7223fc29362b3a">testDivideMod</a>();
-<a name="l00030"></a>00030 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aca8ead732f9dac3f23f53095eacd762e">testConvert</a>();
-<a name="l00031"></a>00031 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ace6d9f008e78329286fc9003896667cd">testStreams</a>();
-<a name="l00032"></a>00032 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a6073c3037b644655bc752120b144e804">testMontyMultiply</a>();
-<a name="l00033"></a>00033 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a099082cd8bbd0e994870ad89859e18c1">testMontyPowerMod</a>();
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
-<a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_TEST_H</span>
-</pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Apr 14 22:09:18 2010 for The Extended Integer (XInt) Library by&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/zero.html
==============================================================================
--- sandbox/xint/doc/zero.html (original)
+++ sandbox/xint/doc/zero.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li class="current">Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li>Files</li>
@@ -26,11 +25,11 @@
 
 <h1><a class="anchor" id="zero">Zero and "Negative Zero" </a></h1><p>The mathematical concept of zero has no sign. It's neither positive nor negative (or if you prefer, it's both). The concept of a signed zero is used in floating-point numbers to represent a value that's so small that it can't be distinguished from zero, but which may not be an actual zero. Such a non-zero number does have a sign. But mathematically, a negative zero is simply zero.</p>
 <p>However, the XInt library does have limited support for a "negative zero," for use in a planned future unlimited-precision floating point library built on it. To get a negative zero, negate a normal zero value with the unary minus, like so:</p>
-<div class="fragment"><pre class="fragment">integer z = -integer::zero();
+<div class="fragment"><pre class="fragment">integer z = -<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a4e055aa4ada37a5892b2605de2a953ae">integer::zero</a>();
 </pre></div><p>A negative zero will act exactly like a "normal" zero in all respects. The only way to detect a sign on it is by calling <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">the sign function</a> with the <code>signed_zero</code> parameter <code>true</code>. With that parameter, it will return -1 on any negative number, including zero.</p>
 <p>Note that the unary minus operator and the <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a> function are the only functions that will ever return a negative zero. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/zero_8dox.html
==============================================================================
--- sandbox/xint/doc/zero_8dox.html (original)
+++ sandbox/xint/doc/zero_8dox.html 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,7 +12,6 @@
   <div class="tabs">
     <ul>
       <li>Main Page</li>
- <li>Related Pages</li>
       <li>Namespaces</li>
       <li>Classes</li>
       <li class="current">Files</li>
@@ -29,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/zero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 17 20:02:58 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Apr 30 00:24:25 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/src/base_integer.cpp
==============================================================================
--- sandbox/xint/src/base_integer.cpp (original)
+++ sandbox/xint/src/base_integer.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,8 @@
     \brief Contains the definitions for the \c base_integer member functions.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/internals.hpp"
+#include "../boost/xint/integer.hpp"
 
 #ifdef XINT_THREADSAFE
     #define XINT_DISABLE_COPY_ON_WRITE
@@ -26,27 +27,40 @@
 namespace detail {
 
 namespace {
-struct zerodata_t: public data_t<> {
+struct zerodata_t: public data_t {
     public:
- zerodata_t() { copies=1; length=max_length=1; *magnitude=0; }
-} zerodata;
+ zerodata_t() { copies=1; fixed_mask=0; length=max_length=1; *magnitude=0; }
+};
+
+zerodata_t* zerodata() {
+ static std::auto_ptr<zerodata_t> z(new zerodata_t);
+ return z.get();
+}
+
 } // namespace
 
-base_integer::base_integer(size_t count, digit_t mask, void *d):
- fixed_mask(mask), negative(false), data(reinterpret_cast<data_t<>*>(d))
+base_integer::base_integer(): flags(0), data(0) { }
+
+base_integer::base_integer(const base_integer& c, bool fixed): flags(0), data(0)
 {
- assert(mask != 0);
+ if (fixed) flags |= flag_fixedlength;
+ _attach(c);
+}
 
- data->copies=1;
- data->length=1;
- data->max_length=count;
+base_integer::base_integer(size_t count, digit_t mask): flags(flag_fixedlength),
+ data(0)
+{
+ _base_attach(allocate_fixed(mask, count, 1));
+}
 
- digit_t *i = data->magnitude, *ie = i + data->max_length;
- while (i != ie) *i++ = 0;
+base_integer::base_integer(data_t *adopt, bool neg): flags(0), data(0) {
+ if (adopt && adopt->fixed_mask != 0) flags |= flag_fixedlength;
+ _base_attach(adopt);
+ _set_negative(neg);
 }
 
 base_integer::~base_integer() {
- if (fixed_mask != 0 && data && data->copies == 1) deallocate(data);
+ if (data && --data->copies == 0) deallocate(data);
 }
 
 digit_t base_integer::_get_digit(size_t index) const {
@@ -58,7 +72,8 @@
     return data->magnitude[index];
 }
 
-digit_t* base_integer::_get_digits() {
+digit_t* base_integer::_get_writable_digits() {
+ assert(!_get_readonly());
     return data->magnitude;
 }
 
@@ -70,213 +85,271 @@
     return data->length;
 }
 
-void base_integer::_duplicate(const base_integer& c, size_t extra) {
- negative=c.negative;
- data=duplicate(data, c.data, extra);
+size_t base_integer::_get_max_length() const {
+ return _is_fixed() ? _fixed_digits() : (std::numeric_limits<size_t>::max)();
 }
 
-void base_integer::_attach(data_t<> *new_data, bool neg) {
- assert(fixed_mask == 0);
-
- #ifdef XINT_DISABLE_COPY_ON_WRITE
- data=duplicate(data, new_data);
- #else
- if (data && --data->copies == 0) deallocate(data);
- data=new_data;
- if (data) ++data->copies;
- #endif
- negative=neg;
-}
-
-void base_integer::_attach(const base_integer& copy) {
- _attach(copy.data, copy.negative);
+void base_integer::_set_length(size_t digits) {
+ data->length = digits;
 }
 
-void base_integer::_attach_0() {
- _attach(&zerodata);
+size_t base_integer::_log2() const {
+ size_t len = _get_length() - 1;
+ return (bits_per_digit * len) + log2(_get_digit(len));
 }
 
-void base_integer::_attach_1(digit_t n) {
- if (n == 0) {
- _attach(&zerodata);
+void base_integer::_set_unsigned(boost::uintmax_t n, bool negative) {
+ // Assumes that the proper allocation & sizing was already done
+ assert(!_get_readonly());
+ if (data == 0) _base_attach(allocate(detail::digits_in_uintmax));
+ if (digit_t(n) == n) {
+ data->length = 1;
+ *data->magnitude = digit_t(n);
     } else {
- _attach(allocate(1));
- *data->magnitude=n;
+ digit_t *i = data->magnitude, *ie = i + data->max_length;
+ while (n != 0 && i != ie) {
+ *i++ = digit_t(n & digit_mask);
+ n >>= bits_per_digit;
+ }
+ data->length = i - data->magnitude;
     }
+ _set_negative(negative);
+ _cleanup();
 }
 
-void base_integer::_attach_n(boost::uintmax_t n) {
- static int bits = std::numeric_limits<boost::uintmax_t>::digits;
- static int maxDigits = (bits + bits_per_digit - 1) / bits_per_digit;
-
- _attach(allocate(maxDigits));
- _set_n(n);
-}
-
-void base_integer::_set_n(boost::uintmax_t n) {
- // Assumes that the proper allocation was already done
- data->length = data->max_length;
- digit_t *i = data->magnitude, *ie = i + data->max_length;
- while (n != 0 && i != ie) {
- *i++ = digit_t(n & digit_mask);
- n >>= bits_per_digit;
+void base_integer::_set_signed(boost::intmax_t n) {
+ if (n >= 0) {
+ _set_unsigned(n);
+ } else if (n == (std::numeric_limits<boost::intmax_t>::min)()) {
+ // Have to treat the minimum number carefully, because -n is not
+ // what you'd think it is.
+ _set_unsigned(-(n+1), true);
+ _decrement();
+ } else {
+ _set_unsigned(-n, true);
     }
- _cleanup();
 }
 
 bool base_integer::_is_unique() const {
- return (!data || data->copies == 1);
+ return (!data || data->copies <= 1);
 }
 
 bool base_integer::_is_zero() const {
     return (data->length == 1 && *data->magnitude == 0);
 }
 
+bool base_integer::_is_fixed() const {
+ if (data) return (data->fixed_mask != 0);
+ else return ((flags & flag_fixedlength) != 0);
+}
+
+size_t base_integer::_fixed_digits() const {
+ return _is_fixed() ? data->max_length : 0;
+}
+
+size_t base_integer::_fixed_bits() const {
+ size_t digits = _fixed_digits();
+ if (digits != 0) return ((digits - 1) * detail::bits_per_digit) +
+ detail::log2(data->fixed_mask);
+ else return 0;
+}
+
 bool base_integer::_get_negative() const {
- return negative;
+ return ((flags & flag_negative) ? true : false);
 }
 
 void base_integer::_set_negative(bool neg) {
- negative=neg;
+ if (neg) flags |= flag_negative;
+ else flags &= ~flag_negative;
 }
 
-void base_integer::_cleanup() {
- if (fixed_mask) data->magnitude[data->max_length-1] &= fixed_mask;
- digit_t *p = data->magnitude + data->length - 1;
- while (p != data->magnitude && *p == 0) { --data->length; --p; }
- if (data->length == 1 && *data->magnitude == 0) negative = false;
+void base_integer::_toggle_negative() {
+ flags ^= flag_negative;
+}
+
+bool base_integer::_get_readonly() const {
+ return ((flags & flag_readonly) ? true : false);
+}
 
+void base_integer::_set_readonly() {
+ flags |= flag_readonly;
 }
 
 void base_integer::_realloc(size_t new_digit_count) {
- assert(fixed_mask == 0);
     data = reallocate(data, new_digit_count);
 }
 
-void base_integer::_shift_left(size_t byBits) {
- size_t bytes=byBits / bits_per_digit, bits=byBits % bits_per_digit;
- size_t oldLength = data->length;
-
- data=reallocate(data, data->length + bytes + 1);
-
- if (bits != 0) {
- // Handle both bits and bytes in one pass
- digit_t *s = data->magnitude + oldLength - 1, *t = s + bytes + 1;
-
- *t-- = *s >> (bits_per_digit - bits);
- while (s > data->magnitude) {
- *t = (*s-- << bits);
- *t-- |= (*s >> (bits_per_digit - bits));
- }
- *t = (*s << bits);
+void base_integer::_make_unique() {
+ if (data && !_is_unique()) {
+ data_t *olddata = data;
+
+ data = (olddata->fixed_mask != 0 ?
+ allocate_fixed(olddata->fixed_mask, olddata->max_length, 0) :
+ allocate(olddata->length, 0));
+ data->copies = 1;
+ data->length = olddata->length;
+
+ digit_t *s = olddata->magnitude, *se = s + olddata->length;
+ digit_t *t = data->magnitude;
+ while (s != se) *t++ = *s++;
 
- if (bytes != 0) {
- digit_t *t = data->magnitude, *te = t + bytes;
- while (t != te) *t++ = 0;
- }
- } else if (bytes != 0) {
- memmove(data->magnitude + bytes, data->magnitude, sizeof(digit_t) *
- oldLength);
- memset(data->magnitude, 0, sizeof(digit_t) * bytes);
+ --olddata->copies;
     }
- _cleanup();
 }
 
-void base_integer::_shift_right(size_t byBits) {
- size_t bytes=byBits / bits_per_digit, bits=byBits % bits_per_digit,
- bits2 = bits_per_digit - bits;
+void base_integer::_swap(base_integer& other) {
+ flag_t tempflags = flags;
+ flags = other.flags;
+ other.flags = tempflags;
+
+ data_t *tempdata = data;
+ data = other.data;
+ other.data = tempdata;
+}
 
- if (bytes >= data->length) {
- // Right-shift it into oblivion.
- data->length = 1;
- *data->magnitude = 0;
- } else if (bits != 0) {
- // Handle both bits and bytes in one pass
- digit_t *t = data->magnitude, *s = data->magnitude + bytes,
- *se = data->magnitude + data->length - 1;
- while (s!=se) {
- *t = (*s++ >> bits);
- *t++ |= (*s << bits2);
- }
- *t = (*s >> bits);
- if (bytes != 0) {
- memset(data->magnitude + data->length - bytes, 0, sizeof(digit_t) *
- bytes);
- data->length -= bytes;
+void base_integer::_base_attach(data_t *new_data, flag_t setflags, size_t
+ extra_allocation)
+{
+ #ifdef XINT_DISABLE_COPY_ON_WRITE
+ bool adopt=(new_data && new_data->copies == 0);
+ #else
+ bool adopt=true;
+ #endif
+
+ if (data != new_data || extra_allocation != 0) {
+ // If only one of them is fixed-length, the data can't be adopted.
+ if (adopt && new_data && _is_fixed() != (new_data->fixed_mask != 0))
+ adopt=false;
+
+ // If either of them are fixed-length, and they're not the same fixed-
+ // length, then the data can't be adopted.
+ if (adopt && data && new_data && (data->fixed_mask ||
+ new_data->fixed_mask) && (data->fixed_mask != new_data->fixed_mask
+ || data->max_length != new_data->max_length)) adopt=false;
+
+ // If we don't have a data item, but we're supposed to allocate extra
+ // data, we can't adopt the existing data item.
+ if (adopt && extra_allocation != 0 && !data) adopt=false;
+
+ // If extra_allocation is requested, and it's a variable-length integer,
+ // check the max_size. If there isn't enough to fit in the
+ // extra_allocation, don't allow adoption.
+ if (adopt && extra_allocation != 0 && data->fixed_mask == 0)
+ if (data->length + extra_allocation > data->max_length) adopt=false;
+
+ if (adopt) {
+ if (data && --data->copies == 0) deallocate(data);
+ data=new_data;
+ if (data) ++data->copies;
+ } else if (new_data != 0) {
+ // Duplicate the data in a unique data_t item
+ if (data == 0) {
+ data = (_is_fixed() ?
+ allocate_fixed(new_data->fixed_mask, new_data->max_length,
+ 0) :
+ allocate(new_data->length + extra_allocation, 0));
+ ++data->copies;
+ } else if ((data->copies > 1 || data->max_length < new_data->length
+ + extra_allocation) || _get_readonly())
+ {
+ data_t *olddata = data;
+ data = (_is_fixed() ?
+ allocate_fixed(data->fixed_mask, data->max_length, 0) :
+ allocate(new_data->length + extra_allocation, 0));
+ ++data->copies;
+ if (--olddata->copies == 0) deallocate(olddata);
+ }
+ data->length = (std::min)(new_data->length + extra_allocation,
+ data->max_length);
+
+ digit_t *s = new_data->magnitude, *se = s + new_data->length;
+ digit_t *t = data->magnitude, *te = t + data->length;
+ while (t != te && s != se) *t++ = *s++;
+ zero(t, te);
+ } else {
+ if (--data->copies == 0) deallocate(data);
+ data=0;
         }
- _cleanup();
- } else if (bytes != 0) {
- memmove(data->magnitude, data->magnitude + bytes, sizeof(digit_t) *
- (data->length - bytes));
- memset(data->magnitude + data->length - bytes, 0, sizeof(digit_t) *
- bytes);
- data->length -= bytes;
- _cleanup();
     }
+ flags = setflags;
 }
 
-void base_integer::_base_make_unique() {
- if (!_is_unique()) data=duplicate(data);
+void base_integer::_attach(const base_integer& copy) {
+ _base_attach(copy.data, copy.flags);
+ if (data) _cleanup();
 }
 
-void base_integer::_add(const base_integer& n) {
- //assert(mCopies==1);
- //assert(mLength >= addend.mLength);
-
- // The answer to any addition problem contains, at most, one digit more
- // than the largest addend.
- data=reallocate(data, data->length + 1);
-
- // Now add the digits, starting at the least-significant digit.
- digit_t carry = 0;
- size_t x = 0;
- for (; x < n.data->length; ++x) {
- doubledigit_t t = doubledigit_t(data->magnitude[x]) +
- n.data->magnitude[x] + carry;
- if (t >= digit_overflowbit) { carry = 1; t -= digit_overflowbit; }
- else carry=0;
- data->magnitude[x] = static_cast<digit_t>(t);
- }
-
- while (carry) {
- doubledigit_t t = doubledigit_t(data->magnitude[x]) + 1;
- if (t >= digit_overflowbit) { carry = 1; t -= digit_overflowbit; }
- else carry=0;
- data->magnitude[x] = static_cast<digit_t>(t);
- ++x;
+void base_integer::_cleanup() {
+ digit_t *p = data->magnitude + data->length - 1;
+ if (data->fixed_mask != 0 && p == data->magnitude + data->max_length - 1)
+ *p &= data->fixed_mask;
+ if (*p == 0) {
+ if (p != data->magnitude) {
+ while (--p != data->magnitude && *p == 0); // Null loop
+ if (*p == 0) _set_negative(false); // It's zero.
+ data->length = p - data->magnitude + 1;
+ } // It's zero, but it may legitimately be a "negative zero", leave it.
     }
+}
 
- _cleanup();
+integer base_integer::_to_integer() const {
+ integer r;
+ r._attach(*this);
+ return r;
 }
 
-void base_integer::_subtract(const base_integer& n) {
- //assert(mCopies==1);
- //assert(mLength >= subtrahend.mLength);
-
- // For subtraction, the answer will always be less than or equal to the
- // size of the longest operand, so we've already got enough room.
-
- // Now subtract the digits, starting at the least-significant one.
- size_t x;
- int borrow = 0;
- doubledigit_t t;
- for (x = 0; x < n.data->length; ++x) {
- t=(data->magnitude[x] + digit_overflowbit) - n.data->magnitude[x] -
- borrow;
- if (t < digit_overflowbit) borrow = 1;
- else { borrow = 0; t -= digit_overflowbit; }
- data->magnitude[x]=static_cast<digit_t>(t);
+void base_integer::_increment(bool absolute_value) {
+ _make_unique();
+ if (_is_zero()) {
+ data->magnitude[0] = 1;
+ _set_negative(false);
+ } else if (!absolute_value && _get_negative()) {
+ _decrement(true);
+ } else {
+ _realloc(_get_length() + 1);
+ digit_t *p = _get_writable_digits(), *pe = p + _get_length();
+
+ while (p < pe) {
+ if (*p == digit_mask) *p++ = 0;
+ else { *p++ += 1; break; }
+ }
+ _cleanup();
     }
+}
 
- for (; x < data->length && borrow; ++x) {
- t = (data->magnitude[x] + digit_overflowbit) - borrow;
- if (t < digit_overflowbit) borrow=1;
- else { borrow = 0; t -= digit_overflowbit; }
- data->magnitude[x] = static_cast<digit_t>(t);
+void base_integer::_decrement(bool absolute_value) {
+ _make_unique();
+ if (_is_zero()) {
+ data->magnitude[0]=1;
+ _set_negative(true);
+ } else if (!absolute_value && _get_negative()) {
+ _increment(true);
+ } else {
+ digit_t *p = _get_writable_digits(), *pe = p + _get_length();
+ while (p != pe) {
+ if (*p == 0) *p++ = digit_mask;
+ else { *p++ -= 1; break; }
+ }
+ _cleanup();
     }
+}
 
- _cleanup();
- if (borrow != 0) negative=!negative;
+////////////////////////////////////////////////////////////////////////////////
+
+void base_variable_length_integer::_attach_0() {
+ _base_attach(zerodata());
+}
+
+size_t log10_bits(size_t bits) {
+ assert(std::numeric_limits<boost::intmax_t>::digits >= 32);
+ const boost::intmax_t large_step(1000000000), small_step(10);
+ const size_t count_per_large_step = 9, count_per_small_step = 1;
+ integer n(pow2(bits)-1);
+
+ size_t r = 0;
+ while (n >= large_step) { n /= large_step; r += count_per_large_step; }
+ while (n >= small_step) { n /= small_step; r += count_per_small_step; }
+ return r;
 }
 
 } // namespace detail

Modified: sandbox/xint/src/bit_manipulations.cpp
==============================================================================
--- sandbox/xint/src/bit_manipulations.cpp (original)
+++ sandbox/xint/src/bit_manipulations.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,15 +15,210 @@
     \brief Contains the bit-manipulation functions.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 namespace boost {
 namespace xint {
 
-using namespace detail;
+namespace detail {
+
+bool getbit(const base_integer& n, size_t bit) {
+ size_t index = bit / bits_per_digit;
+ if (index < n._get_length()) {
+ digit_t mask=(digit_t(1) << (bit % bits_per_digit));
+ return ((n._get_digit(index) & mask) != 0);
+ } else return false;
+}
+
+void setbit(base_integer& n, size_t bit) {
+ if (n._is_fixed() && bit >= n._fixed_bits()) return;
+
+ n._make_unique();
+
+ size_t index = bit / bits_per_digit;
+ if (index >= n._get_length()) n._realloc(index+1);
+
+ digit_t mask = (digit_t(1) << (bit % bits_per_digit));
+ n._get_writable_digits()[index] |= mask;
+ n._cleanup();
+}
+
+void clearbit(base_integer& n, size_t bit) {
+ if (n._is_fixed() && bit >= n._fixed_bits()) return;
+
+ size_t index = bit / bits_per_digit;
+ if (index < n._get_length()) {
+ n._make_unique();
+ digit_t mask=(digit_t(1) << (bit % bits_per_digit));
+ n._get_writable_digits()[index] &= ~mask;
+ n._cleanup();
+ }
+}
+
+size_t lowestbit(const base_integer& n, size_t valueIfZero) {
+ if (n._is_zero()) return valueIfZero;
+
+ const digit_t *p=n._get_digits(), *pe=p+n._get_length();
+ while (p!=pe && *p==0) ++p;
+
+ size_t index=(p - n._get_digits());
+ size_t r=(bits_per_digit * index);
+ digit_t digit=*p;
+
+ while ((digit & 0x01)==0) {
+ digit>>=1;
+ ++r;
+ }
+
+ return r;
+}
+
+size_t highestbit(const base_integer& n, size_t valueIfZero) {
+ return (n._is_zero() ? valueIfZero : n._log2()-1);
+}
+
+void bitwise_and(base_integer& target, const base_integer& n1, const
+ base_integer& n2)
+{
+ bool n1larger=(n1._get_length() > n2._get_length());
+ const base_integer &smaller(n1larger ? n2 : n1),
+ &larger(n1larger ? n1 : n2);
+
+ size_t maxlen = (std::min)(smaller._get_length(), target._get_max_length());
+
+ target._make_unique();
+ target._realloc(maxlen);
+
+ const digit_t *s1 = smaller._get_digits(), *s1e = s1 + maxlen, *s2 =
+ larger._get_digits();
+ digit_t *t = target._get_writable_digits();
+
+ while (s1 < s1e) *t++ = *s1++ & *s2++;
+
+ target._cleanup();
+}
+
+void bitwise_or(base_integer& target, const base_integer& n1, const
+ base_integer& n2)
+{
+ bool n1larger = (n1._get_length() > n2._get_length());
+ const base_integer &smaller(n1larger ? n2 : n1), &larger(n1larger ? n1 : n2);
+
+ size_t maxlen = (std::min)(larger._get_length(), target._get_max_length());
+
+ target._make_unique();
+ target._realloc(maxlen);
+
+ const digit_t *s1 = smaller._get_digits(), *s1e = s1 +
+ (std::min)(smaller._get_length(), maxlen);
+ const digit_t *s2 = larger._get_digits(), *s2e = s2 + maxlen;
+ digit_t *t = target._get_writable_digits();
+
+ while (s1 < s1e) *t++ = *s1++ | *s2++;
+ while (s2 < s2e) *t++ = *s2++;
+
+ target._cleanup();
+}
+
+void bitwise_xor(base_integer& target, const base_integer& n1, const
+ base_integer& n2)
+{
+ bool n1larger=(n1._get_length() > n2._get_length());
+ const base_integer &smaller(n1larger ? n2 : n1), &larger(n1larger ? n1 : n2);
+
+ size_t maxlen = (std::min)(larger._get_length(), target._get_max_length());
+
+ target._make_unique();
+ target._realloc(maxlen);
+
+ const digit_t *s1 = smaller._get_digits(), *s1e = s1 +
+ (std::min)(smaller._get_length(), maxlen);
+ const digit_t *s2 = larger._get_digits(), *s2e = s2 + maxlen;
+ digit_t *t = target._get_writable_digits();
+
+ while (s1<s1e) *t++ = *s1++ ^ *s2++;
+ while (s2<s2e) *t++ = *s2++;
+
+ target._cleanup();
+}
+
+void shift_left(base_integer& target, const base_integer& n, size_t byBits) {
+ if (byBits==0) {
+ target._attach(n);
+ return;
+ }
+
+ size_t bytes = byBits / bits_per_digit, bits = byBits % bits_per_digit;
+ size_t nlen = n._get_length();
+
+ temp_t answer(target, n._get_length() + bytes + 1);
+ digit_t *tgt = answer._get_writable_digits();
+ size_t anslen = answer._get_max_length();
+
+ const digit_t *src = n._get_digits();
+
+ // bits/bytes is distance to move
+ // nlen is one greater than top source byte to move
+ nlen = (std::min)(nlen, anslen - bytes - (bits != 0 ? 1 : 0));
+
+ if (bits != 0 && bytes+1 < anslen) {
+ // Handle both bits and bytes in one pass
+ const digit_t *s = src + nlen - 1;
+ digit_t *t = tgt + nlen + bytes;
+
+ *t-- = *s >> (bits_per_digit - bits);
+ while (s > src) {
+ *t = (*s-- << bits);
+ *t-- |= (*s >> (bits_per_digit - bits));
+ }
+ *t = (*s << bits);
+ } else if (bytes != 0 && bytes+1 < anslen) {
+ memcpy(tgt + bytes, src, sizeof(digit_t) * nlen);
+ }
+ answer._cleanup();
+ answer._set_negative(n._get_negative());
+ target._attach(answer);
+}
+
+void shift_right(base_integer& target, const base_integer& n, size_t byBits) {
+ if (byBits==0) {
+ target._attach(n);
+ return;
+ }
+
+ size_t bytes = byBits / bits_per_digit, bits = byBits % bits_per_digit,
+ bits2 = bits_per_digit - bits;
+
+ temp_t answer(target, n._get_length() + bytes + 1);
+ digit_t *tgt = answer._get_writable_digits();
+
+ size_t nlen = n._get_length();
+ const digit_t *src = n._get_digits();
+ if (bytes < nlen) {
+ if (bits != 0) {
+ // Handle both bits and bytes in one pass
+ const digit_t *s = src + bytes, *se = src + nlen - 1;
+ digit_t *t = tgt;
+ while (s!=se) {
+ *t = (*s++ >> bits);
+ *t++ |= (*s << bits2);
+ }
+ *t = (*s >> bits);
+ } else if (bytes != 0) {
+ memcpy(tgt, src + bytes, sizeof(digit_t) * (nlen - bytes));
+ }
+ }
+ answer._cleanup();
+ answer._set_negative(n._get_negative());
+ target._attach(answer);
+}
+
+} // namespace detail
 
 /*! \brief Queries the value of a particular bit in an integer.
 
+- Complexity: O(1)
+
 \param[in] n The integer to query.
 \param[in] bit The zero-based index of the bit you're asking about.
 
@@ -31,50 +226,39 @@
 it is clear.
 */
 bool getbit(const integer& n, size_t bit) {
- size_t index=bit/bits_per_digit;
- if (index < n._get_length()) {
- digit_t mask=(digit_t(1) << (bit % bits_per_digit));
- return ((n._get_digit(index) & mask) != 0);
- } else return false;
+ return detail::getbit(n, bit);
 }
 
 /*! \brief Sets a specific bit in an integer to one.
 
+- Complexity: O(1)
+
 \param[in,out] n The integer to operate on.
 \param[in] bit The zero-based index of the bit to change.
 
 \returns Nothing.
 */
 void setbit(integer& n, size_t bit) {
- n._make_unique();
-
- size_t index=bit/bits_per_digit;
- if (index >= n._get_length()) n._realloc(index+1);
-
- digit_t mask=(digit_t(1) << (bit % bits_per_digit));
- n._get_digits()[index] |= mask;
- n._cleanup();
+ detail::setbit(n, bit);
 }
 
 /*! \brief Sets a specific bit in an integer to zero.
 
+- Complexity: O(1)
+
 \param[in,out] n The integer to operate on.
 \param[in] bit The zero-based index of the bit to change.
 
 \returns Nothing.
 */
 void clearbit(integer& n, size_t bit) {
- size_t index=bit/bits_per_digit;
- if (index < n._get_length()) {
- n._make_unique();
- digit_t mask=(digit_t(1) << (bit % bits_per_digit));
- n._get_digits()[index] &= ~mask;
- n._cleanup();
- }
+ detail::clearbit(n, bit);
 }
 
 /*! \brief Obtains the index of the lowest bit in an integer with a value of one.
 
+- Complexity: O(1)
+
 \param[in] n The integer to query.
 \param[in] valueIfZero The value to return if \c n is zero (as there is no
 correct answer in that case).
@@ -83,25 +267,13 @@
 valueIfZero if the integer contains no set bits.
 */
 size_t lowestbit(const integer& n, size_t valueIfZero) {
- if (n.sign()==0) return valueIfZero;
-
- const digit_t *p=n._get_digits(), *pe=p+n._get_length();
- while (p!=pe && *p==0) ++p;
-
- size_t index=(p - n._get_digits());
- size_t r=(bits_per_digit * index);
- digit_t digit=*p;
-
- while ((digit & 0x01)==0) {
- digit>>=1;
- ++r;
- }
-
- return r;
+ return detail::lowestbit(n, valueIfZero);
 }
 
 /*! \brief Obtains the index of the highest bit in an integer with a value of one.
 
+- Complexity: O(1)
+
 \param[in] n The integer to query.
 \param[in] valueIfZero The value to return if \c n is zero (as there is no
 correct answer in that case).
@@ -110,84 +282,58 @@
 valueIfZero if the integer contains no set bits.
 */
 size_t highestbit(const integer& n, size_t valueIfZero) {
- if (n.sign()==0) return valueIfZero;
- return static_cast<size_t>(log2(n)-1);
+ return detail::highestbit(n, valueIfZero);
 }
 
 /*! \brief Combine two integers using a bitwise \c AND operation.
 
+- Complexity: O(n)
+
 \param[in] n1, n2 The integers to operate on.
 
-\returns An integer with all bits that are set in both parameters turned on.
+\returns A positive integer with all bits that are set in both parameters turned
+on.
 */
 integer bitwise_and(const integer& n1, const integer& n2) {
- bool n1larger=(n1._get_length() > n2._get_length());
- const integer& smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
-
     integer r;
- r._realloc(smaller._get_length());
-
- const digit_t *s1=smaller._get_digits(), *s1e=s1+smaller._get_length(),
- *s2=larger._get_digits();
- digit_t *t=r._get_digits();
-
- while (s1 < s1e) *t++ = *s1++ & *s2++;
-
- r._cleanup();
- return r;
+ detail::bitwise_and(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Combine two integers using a bitwise \c OR operation.
 
+- Complexity: O(n)
+
 \param[in] n1, n2 The integers to operate on.
 
-\returns An integer with all bits that are set in either parameter turned on.
+\returns A positive integer with all bits that are set in either parameter
+turned on.
 */
 integer bitwise_or(const integer& n1, const integer& n2) {
- bool n1larger=(n1._get_length() > n2._get_length());
- const integer& smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
-
     integer r;
- r._realloc(larger._get_length());
-
- const digit_t *s1=smaller._get_digits(), *s1e=s1+smaller._get_length();
- const digit_t *s2=larger._get_digits(), *s2e=s2+larger._get_length();
- digit_t *t=r._get_digits();
-
- while (s1<s1e) *t++ = *s1++ | *s2++;
- while (s2<s2e) *t++ = *s2++;
-
- r._cleanup();
- return r;
+ detail::bitwise_or(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Combine two integers using a bitwise \c XOR operation.
 
+- Complexity: O(n)
+
 \param[in] n1, n2 The integers to operate on.
 
-\returns An integer with all bits that are set in either parameter, but not
-both, turned on.
+\returns A positive integer with all bits that are set in either parameter, but
+not both, turned on.
 */
 integer bitwise_xor(const integer& n1, const integer& n2) {
- bool n1larger=(n1._get_length() > n2._get_length());
- const integer& smaller(n1larger ? n2 : n1), larger(n1larger ? n1 : n2);
-
     integer r;
- r._realloc(larger._get_length());
-
- const digit_t *s1=smaller._get_digits(), *s1e=s1+smaller._get_length();
- const digit_t *s2=larger._get_digits(), *s2e=s2+larger._get_length();
- digit_t *t=r._get_digits();
-
- while (s1<s1e) *t++ = *s1++ ^ *s2++;
- while (s2<s2e) *t++ = *s2++;
-
- r._cleanup();
- return r;
+ detail::bitwise_xor(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Bit-shift an integer, in either direction.
 
+- Complexity: O(n)
+
 \param[in] n The integer to operate on.
 \param[in] byBits The number of bits to shift it. If positive, it will shift
 left, negative will shift right.
@@ -201,34 +347,32 @@
 
 /*! \brief Left-shift an integer by a specified number of bits.
 
+- Complexity: O(n)
+
 \param[in] n The integer to operate on.
 \param[in] byBits The number of bits to left-shift it.
 
 \returns The bit-shifted integer.
 */
 integer shift_left(const integer& n, size_t byBits) {
- if (byBits==0) return n;
-
- integer nn(n);
- nn._make_unique();
- nn._shift_left(byBits);
- return nn;
+ integer r;
+ detail::shift_left(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Right-shift an integer by a specified number of bits.
 
+- Complexity: O(n)
+
 \param[in] n The integer to operate on.
 \param[in] byBits The number of bits to right-shift it.
 
 \returns The bit-shifted integer.
 */
 integer shift_right(const integer& n, size_t byBits) {
- if (byBits==0) return n;
-
- integer nn(n);
- nn._make_unique();
- nn._shift_right(byBits);
- return nn;
+ integer r;
+ detail::shift_right(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
 }
 
 } // namespace xint

Modified: sandbox/xint/src/compare.cpp
==============================================================================
--- sandbox/xint/src/compare.cpp (original)
+++ sandbox/xint/src/compare.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,50 +15,61 @@
     \brief Contains the the compare function and comparison operators.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 #include <functional>
 
 namespace boost {
 namespace xint {
 
+namespace detail {
+int compare(const base_integer &b1, const base_integer &b2, bool ignoresign) {
+ bool invert_answer=false;
+ if (!ignoresign) {
+ if (b1._is_zero()) {
+ if (b2._is_zero()) return 0;
+ return (b2._get_negative() ? 1 : -1);
+ } else if (b2._is_zero()) {
+ return (b1._get_negative() ? -1 : 1);
+ } else {
+ if (b1._get_negative() != b2._get_negative())
+ return (b1._get_negative() ? -1 : 1);
+ if (b1._get_negative()) invert_answer=true;
+ }
+ }
+
+ int answer=0;
+ size_t len=b1._get_length(), len2=b2._get_length();
+ if (len != len2) {
+ answer=((len < len2) ? -1 : 1);
+ } else {
+ const detail::digit_t *b1d=b1._get_digits(), *b1i=b1d+len;
+ const detail::digit_t *b2d=b2._get_digits(), *b2i=b2d+len;
+ while (b1i > b1d)
+ if (*(--b1i) != *(--b2i)) {
+ answer = ((*b1i < *b2i) ? -1 : 1);
+ break;
+ }
+ }
+
+ return (invert_answer ? -answer : answer);
+}
+} // namespace detail
+
 /*! \brief Compare two integer objects.
 
+- Complexity: O(n) at worst
+
 \param[in] b1, b2 The integers to compare.
 \param[in] ignoresign If \c true, the absolute values of b1 and b2 are compared,
 instead of their signed values. Used internally.
 
 \returns A negative number if \c b1 < \c b2; zero if \c b1 == \c b2, or a
 positive number if \c b1 > \c b2.
-
-This is the function behind all of the comparison operators. It might sometimes
-be useful directly as well.
 */
 int compare(const integer &b1, const integer &b2, bool ignoresign) {
- if (!ignoresign) {
- int sign1=b1.sign(), sign2=b2.sign();
- if (sign1==0 && sign2==0) return 0;
- if (sign1==0) return -sign2;
- if (sign2==0) return sign1;
-
- if (sign1 != sign2) return sign1;
- if (sign1 < 0) return compare(-b2, -b1, ignoresign);
- }
-
- if (b1._get_length() != b2._get_length()) {
- return ((b1._get_length() < b2._get_length()) ? -1 : 1);
- } else {
- size_t len=b1._get_length();
- const detail::digit_t *b1d=b1._get_digits(), *b1i=b1d+len;
- const detail::digit_t *b2d=b2._get_digits(), *b2i=b2d+len;
- while (b1i > b1d)
- if (*(--b1i) != *(--b2i))
- return ((*b1i < *b2i) ? -1 : 1);
- }
-
- return 0;
+ return detail::compare(b1, b2, ignoresign);
 }
 
-bool operator!(const integer &num1) { return num1.sign()==0; }
 bool operator==(const integer &num1, const integer &num2) {
     return compare(num1, num2)==0; }
 bool operator!=(const integer& num1, const integer& num2) {
@@ -72,5 +83,36 @@
 bool operator>=(const integer& num1, const integer& num2) {
     return compare(num1, num2)>=0; }
 
+/*! \brief Compare two fixed_integer objects.
+
+- Complexity: O(n) at worst
+
+\param[in] b1, b2 The integers to compare. They can be the same size or
+different sizes.
+\param[in] ignoresign If \c true, the absolute values of b1 and b2 are compared,
+instead of their signed values. Used internally.
+
+\returns A negative number if \c b1 < \c b2; zero if \c b1 == \c b2, or a
+positive number if \c b1 > \c b2.
+*/
+int compare(const fixed_integer_any& b1, const fixed_integer_any& b2, bool
+ ignoresign)
+{
+ return detail::compare(b1, b2, ignoresign);
+}
+
+bool operator==(const fixed_integer_any &num1, const fixed_integer_any &num2) {
+ return compare(num1, num2)==0; }
+bool operator!=(const fixed_integer_any& num1, const fixed_integer_any& num2) {
+ return compare(num1, num2)!=0; }
+bool operator<(const fixed_integer_any& num1, const fixed_integer_any& num2) {
+ return compare(num1, num2)<0; }
+bool operator>(const fixed_integer_any& num1, const fixed_integer_any& num2) {
+ return compare(num1, num2)>0; }
+bool operator<=(const fixed_integer_any& num1, const fixed_integer_any& num2) {
+ return compare(num1, num2)<=0; }
+bool operator>=(const fixed_integer_any& num1, const fixed_integer_any& num2) {
+ return compare(num1, num2)>=0; }
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/convert.cpp
==============================================================================
--- sandbox/xint/src/convert.cpp (original)
+++ sandbox/xint/src/convert.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,95 +16,81 @@
 
     Note that the xint::to<T> function is not here, because it's a template
     function and must be defined in a header file.
-
- \todo the xint::to_string function could be made more efficient by using
- only doubledigit_t-sized pieces of the integer at a time, and dividing the
- whole thing by the total of the divisions done to get the digits. Same with
- the xint::from_string function.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
-#include <vector>
 #include <algorithm>
 #include <sstream>
 
 namespace boost {
 namespace xint {
 
-using namespace detail;
-
 namespace {
-
 char nToChar(int n, bool upperCase) {
     if (n < 10) return char(n+'0');
     else if (upperCase) return char((n - 10) + 'A');
     else return char((n - 10) + 'a');
 }
-
 } // namespace
 
-/*! \brief Creates a string representation of the specified integer.
+namespace detail {
 
-\param[in] n The integer to convert.
-\param[in] base The base, between 2 and 36 inclusive, to convert it to. Defaults
-to base 10.
-\param[in] uppercase Whether to make alphabetic characters (for bases greater
-than ten) uppercase or not. Defaults to \c false.
-
-\returns The string value of \c n.
-
-\exception exceptions::invalid_base if base is less than two or greater than 36.
-
-\remarks
-This is the function that's called when you ask the library to write an integer
-to a stream, but it's more flexible because you can specify any base between 2
-and 36. (Streams only allow base-8, base-10, or base-16.)
-*/
-std::string to_string(const integer& n, size_t base, bool uppercase) {
+std::string to_string(const base_integer& n, size_t base, bool uppercase) {
     if (base<2 || base>36) throw exceptions::invalid_base();
 
- if (n.sign()==0) return "0";
+ if (n._is_zero()) return "0";
 
     std::ostringstream out;
- if (base==16) {
- // Special no-division version, primarily for debugging division
- //const data_t *ndata=n._get_data();
+ if (base == 2 || base == 4 || base == 16) {
+ // Fast no-division version, useful for debugging division and for cases
+ // where maximum speed is necessary.
         const digit_t *firstDigit=n._get_digits(),
             *lastDigit=firstDigit + n._get_length() - 1;
 
- const int bitsPerDigit=4;
- const digit_t mask=(doubledigit_t(1) << bitsPerDigit)-1;
+ if (n._get_negative()) out << '-';
+
+ int bits_per_base_b_digit = 0;
+ while (base > 1) { base = base >> 1; ++bits_per_base_b_digit; }
+ const digit_t mask=(doubledigit_t(1) << bits_per_base_b_digit)-1;
 
- // Suppress any leading zeros
+ // Skip any leading zeros
         const digit_t *d=lastDigit;
- int digitShift=(bits_per_digit - bitsPerDigit);
+ int digitShift=(bits_per_digit - bits_per_base_b_digit);
         while (digitShift >= 0 && ((*d >> digitShift) & mask) == 0)
- digitShift -= bitsPerDigit;
+ digitShift -= bits_per_base_b_digit;
 
         do {
             while (digitShift >= 0) {
                 out << nToChar((*d >> digitShift) & mask, uppercase);
- digitShift -= bitsPerDigit;
+ digitShift -= bits_per_base_b_digit;
             }
 
- digitShift=(bits_per_digit - bitsPerDigit);
+ digitShift=(bits_per_digit - bits_per_base_b_digit);
         } while (d-- != firstDigit);
 
- std::string r(n.sign() < 0 ? std::string("-")+out.str() : out.str());
- return r;
+ return out.str();
     } else {
- const integer shift=base;
- std::pair<integer, integer> a=std::make_pair(n, integer::zero());
- a.first._set_negative(false);
+ // NOTE: for when there's nothing more pressing to do
+ // This could be made a lot more efficient for very large numbers, by
+ // dividing n by base raised to whatever number of digits will fit into
+ // a doubledigit_t, then just doing single-digit divides for that many
+ // digits before going back to n for another chunk. That would be
+ // premature optimization though, so I'm just making this note instead.
+ // If someone can show me a use-case where more efficiency is needed in
+ // this function, I'll add it later.
+
+ const integer shift(base);
+ integer::divide_t a(n._to_integer(), integer::zero());
+ a.quotient._set_negative(false);
 
         integer r;
- while (a.first.sign()!=0) {
- a=divide_r(a.first, shift);
- out << nToChar(a.second._get_digit(0), uppercase);
+ while (!a.quotient._is_zero()) {
+ a = divide_r(a.quotient, shift);
+ out << nToChar(a.remainder._get_digit(0), uppercase);
         }
 
- if (n.sign() < 0) out << '-';
+ if (n._get_negative()) out << '-';
 
         std::string rval=out.str();
         std::reverse(rval.begin(), rval.end());
@@ -112,32 +98,7 @@
     }
 }
 
-/*! \brief Converts a string into an integer.
-
-\param[in] str The string to convert.
-\param[in] base the base that the string representation of the number is in.
-This can be any number between 2 and 36 (inclusive). It can also be the constant
-xint::autobase, in which case the function will follow the standard C/C++ rules
-for interpreting a numeric constant: any number with a zero as the first digit
-is assumed to be base-8; any number with a leading zero-x or zero-X (such as
-0x1f) is base-16, and anything else is base-10.
-
-\returns An integer with the numeric value of the string in base \c base.
-
-\exception exceptions::overflow_error if there is not enough free memory to
-create the integer.
-\exception exceptions::invalid_base if the base parameter is not between 2 and 36
-(inclusive) or the constant xint::autobase.
-\exception exceptions::invalid_digit if the string contains any digit that cannot
-be part of a number in the specified base, or if there are no valid digits.
-
-\remarks
-This is the function that's called when reading an integer from a stream, or
-when contructing one from a string.
-
-\see integer::integer(const std::string& str, size_t base)
-*/
-integer from_string(const std::string& str, size_t base) {
+void from_string(base_integer& target, const std::string& str, size_t base) {
     bool negate=false;
     const char *c=str.c_str();
     if (*c=='+') ++c;
@@ -158,13 +119,19 @@
 
     const integer shift(base);
 
+ // NOTE: for when there's nothing more pressing to do
+ // This function could use the same efficiency improvements that to_string
+ // uses, but there's even less need for them here. Show me a use-case where
+ // they're needed and I'll add them; until then, this will suffice.
+
     integer r;
     while (*c) {
         unsigned int digit;
         if (*c>='0' && *c<='9') digit=*c-'0';
         else if (*c>='A' && *c<='Z') digit=*c-'A'+10;
         else if (*c>='a' && *c<='z') digit=*c-'a'+10;
- else throw exceptions::invalid_digit("encountered non-alphanumeric "
+ else
+ throw exceptions::invalid_digit("encountered non-alphanumeric "
             "character in string");
 
         if (digit >= base) throw exceptions::invalid_digit("encountered digit "
@@ -174,42 +141,149 @@
         ++c;
     }
     r._set_negative(negate);
- return r;
+
+ target._attach(r);
 }
 
-/*! \brief Converts a binary representation of a number into an integer.
+void to_binary(xint::binary_t& target, const base_integer& n, size_t bits) {
+ if (bits > size_t(std::numeric_limits<unsigned char>::digits)) throw
+ exceptions::invalid_argument("can't fit that many bits into an "
+ "unsigned character on this system");
+ if (bits == 0) bits = std::numeric_limits<unsigned char>::digits;
+
+ bitqueue_t bitqueue;
+ const digit_t *s = n._get_digits(), *se = s + n._get_length();
+ while (s != se) bitqueue.push(*s++, bits_per_digit);
+
+ while (!bitqueue.empty()) target.push_back(static_cast<unsigned char>
+ (bitqueue.pop(bits)));
+ while (!target.empty() && target.back()==0) target.pop_back();
+}
 
-\param[in] str An \c std::string containing the bytes to convert, lowest byte
-first.
+void from_binary(base_integer& target, const xint::binary_t& b, size_t bits) {
+ if (bits > size_t(std::numeric_limits<unsigned char>::digits)) throw
+ exceptions::invalid_argument("can't fit that many bits into an "
+ "unsigned character on this system");
+ if (bits == 0) bits = std::numeric_limits<unsigned char>::digits;
+
+ bitqueue_t bitqueue;
+ for (xint::binary_t::const_iterator s = b.begin(), se = b.end(); s != se;
+ ++s) bitqueue.push(*s, bits);
+
+ size_t rlen = ((b.size() * bits) + bits_per_digit - 1) / bits_per_digit;
+ temp_t r(target, rlen);
+ digit_t *t = r._get_writable_digits(), *te = t + r._get_length();
+ while (t != te && !bitqueue.empty())
+ *t++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 
-\returns An integer representing the bytes.
+ r._cleanup();
+ target._attach(r);
+}
 
-\see xint::to_binary
+} // namespace detail
+
+/*! \brief Creates a string representation of the specified %integer.
+
+- Complexity: O(n<sup>2</sup>)
+
+\param[in] n The %integer to convert.
+\param[in] base The base, between 2 and 36 inclusive, to convert it to. Defaults
+to base 10.
+\param[in] uppercase Whether to make alphabetic characters (for bases greater
+than ten) uppercase or not. Defaults to \c false.
+
+\returns The string value of \c n.
+
+\exception exceptions::invalid_base if base is less than two or greater than 36.
+
+\remarks
+This is the function that's called when you ask the library to write an %integer
+to a stream, but it's more flexible because you can specify any base between 2
+and 36. (Streams only allow base-8, base-10, or base-16.)
 */
-integer from_binary(const std::string& str) {
- const size_t bytesPerDigit=sizeof(digit_t);
- const size_t bitsPerByte=std::numeric_limits<unsigned char>::digits;
+std::string to_string(const integer& n, size_t base, bool uppercase) {
+ return detail::to_string(n, base, uppercase);
+}
+
+/*! \copydoc to_string(const integer&, size_t, bool)
+
+\overload
+*/
+std::string to_string(const fixed_integer_any& n, size_t base, bool uppercase) {
+ return detail::to_string(n, base, uppercase);
+}
+
+/*! \brief Converts a string to an integer.
 
+- Complexity: O(n<sup>2</sup>)
+
+\param[in] str The string to convert.
+\param[in] base the base that the string representation of the number is in.
+This can be any number between 2 and 36 (inclusive). It can also be the constant
+xint::autobase, in which case the function will follow the standard C/C++ rules
+for interpreting a numeric constant: any number with a zero as the first digit
+is assumed to be base-8; any number with a leading zero-x or zero-X (such as
+0x1f) is base-16, and anything else is base-10.
+
+\returns An integer with the numeric value of the string in base \c base.
+
+\exception exceptions::overflow_error if there is not enough free memory to
+create the integer.
+\exception exceptions::invalid_base if the base parameter is not between 2 and 36
+(inclusive) or the constant xint::autobase.
+\exception exceptions::invalid_digit if the string contains any digit that cannot
+be part of a number in the specified base, or if there are no valid digits.
+
+\remarks
+This is the function that's called when reading an integer from a stream, or
+when contructing one from a string.
+*/
+integer from_string(const std::string& str, size_t base) {
     integer r;
- r._realloc((str.length() + bytesPerDigit - 1)/bytesPerDigit);
- digit_t *p=r._get_digits();
+ detail::from_string(r, str, base);
+ return BOOST_XINT_MOVE(r);
+}
 
- unsigned char *s=(unsigned char *)str.data(), *se=s+str.length();
- while (s<se) {
- digit_t d=0;
- for (size_t i=0; i<bytesPerDigit && s<se; ++i)
- d |= (digit_t(*s++) << (i * bitsPerByte));
- *p++=d;
- }
- r._cleanup();
- return r;
+/*! \brief Converts a portable binary representation of a number into an
+ %integer.
+
+- Complexity: O(n)
+
+\param[in] b An \c xint::binary_t containing the bytes to convert, lowest byte
+first.
+\param[in] bits The number of bits packed into each character (for portability
+with systems that might not have characters with the same number of bits), or
+zero (the default) to assume the number of bits in the current system's
+unsigned character type.
+
+\exception exceptions::invalid_argument if \c bits is greater than the number of
+bits in an unsigned character.
+
+\returns An %integer representing the bytes.
+
+\see xint::to_binary
+*/
+integer from_binary(const xint::binary_t& b, size_t bits) {
+ integer r;
+ detail::from_binary(r, b, bits);
+ return BOOST_XINT_MOVE(r);
 }
 
-/*! \brief Creates a binary representation of an integer, lowest byte first.
+/*! \brief Creates a binary representation of an %integer.
+
+- Complexity: O(n)
 
-\param[in] n The integer to convert.
+\param[in] n The %integer to convert.
+\param[in] bits The number of bits to pack into each character (for portability
+with systems that might not have characters with the same number of bits), or
+zero (the default) to assume the number of bits in the current system's
+unsigned character type.
+
+\returns An \c xint::binary_t containing the binary representation, lowest byte
+first.
 
-\returns A string containing the binary representation.
+\exception exceptions::invalid_argument if \c bits is greater than the number of
+bits in an unsigned character.
 
 \note
 This function only stores the absolute value of \c n; if you need the sign, you
@@ -220,24 +294,12 @@
 transmission, as it is more space-efficient than a string representation.
 
 \see xint::from_binary
+\see xint::fixed_from_binary
 */
-std::string to_binary(const integer& n) {
- const size_t bytesPerDigit=sizeof(digit_t);
- const size_t bitsPerByte=std::numeric_limits<unsigned char>::digits;
- std::vector<unsigned char> temp;
- temp.reserve(n._get_length() * bytesPerDigit);
-
- const digit_t *p=n._get_digits(), *pe=p+n._get_length();
- while (p != pe) {
- digit_t d(*p++);
- for (size_t i=0; i<bytesPerDigit; ++i) {
- temp.push_back((unsigned char)(d));
- d >>= bitsPerByte;
- }
- }
- while (!temp.empty() && temp.back()==0) temp.pop_back();
- char *c=(char*)&temp[0];
- return std::string(c, c+temp.size());
+xint::binary_t to_binary(const integer& n, size_t bits) {
+ xint::binary_t r;
+ detail::to_binary(r, n, bits);
+ return r;
 }
 
 } // namespace xint

Modified: sandbox/xint/src/data_t.cpp
==============================================================================
--- sandbox/xint/src/data_t.cpp (original)
+++ sandbox/xint/src/data_t.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,9 @@
     \brief Contains the definitions for data_t allocation functions.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/internals.hpp"
+
+#define VALGRIND_COMPATIBLE
 
 #include <cassert>
 
@@ -23,107 +25,141 @@
 namespace xint {
 namespace detail {
 
-static size_t datasize=(sizeof(data_t<>)+sizeof(digit_t)-1) / sizeof(digit_t);
+static const size_t datasize = (sizeof(data_t)+sizeof(digit_t)-1) /
+ sizeof(digit_t);
+static const size_t minimum_digits = 1, digits_in_struct = 1;
+
+void zero(digit_t *p, digit_t *end) {
+ while (p < end) *p++ = 0;
+}
+
+void zero(digit_t *p, size_t size) {
+ zero(p, p + size);
+}
 
-data_t<> *allocate(size_t max_digits, size_t initial_length) {
- if (max_digits < 1) max_digits = 1;
- size_t count = max_digits - 1 + datasize;
+data_t *allocate(size_t max_digits, size_t initial_length, digit_t mask) {
+ max_digits = (std::max)(max_digits, minimum_digits);
+ size_t count = max_digits - digits_in_struct + datasize;
 
     try {
- digit_t *storage(new digit_t[count]);
- data_t<> *r=reinterpret_cast<data_t<>*>(storage);
+ #ifdef VALGRIND_COMPATIBLE
+ void *storage = malloc(count * sizeof(digit_t));
+ data_t *r = new(storage) data_t;
+ #else
+ digit_t *storage(new digit_t[count]);
+ data_t *r = new(reinterpret_cast<void*>(storage)) data_t;
+ #endif
         r->copies=0;
         r->length=(std::min)(initial_length, max_digits);
         r->max_length=max_digits;
-
- digit_t *p = r->magnitude, *pe = p + r->length;
- while (p!=pe) *p++=0;
+ r->fixed_mask=mask;
+ zero(r->magnitude, r->length);
         return r;
     } catch (std::bad_alloc&) {
         throw exceptions::overflow_error("Out of memory allocating integer");
     }
 }
 
-data_t<> *reallocate(data_t<> *olddata, size_t newsize) {
+data_t *allocate_fixed(digit_t mask, size_t max_digits, size_t initial_length) {
+ assert(mask != 0);
+ return allocate(max_digits, initial_length, mask);
+}
+
+data_t *allocate_fixed_zero(digit_t mask, size_t max_digits) {
+ data_t *r=allocate(max_digits, 1, mask);
+ r->copies = 1;
+ return r;
+}
+
+data_t *reallocate(data_t *olddata, size_t newsize) {
     if (olddata==0) {
- data_t<> *newdata=allocate(newsize);
+ data_t *newdata=allocate(newsize);
         newdata->copies=1;
         return newdata;
- } if (olddata->copies == 1 && newsize <= olddata->max_length) {
+ } else if (olddata->fixed_mask != 0) {
+ // It's a fixed-size item, have to re-use it.
+ newsize = (std::min)(newsize, olddata->max_length);
+ if (olddata->length < newsize) zero(olddata->magnitude +
+ olddata->length, olddata->magnitude + newsize);
+ olddata->length = newsize;
+ return olddata;
+ } else if (olddata->copies == 1 && newsize <= olddata->max_length) {
         // We can re-use this data.
- if (olddata->length < newsize) {
- digit_t *p=olddata->magnitude + olddata->length,
- *pe=olddata->magnitude + newsize;
- while (p!=pe) *p++=0;
- } else {
- digit_t *p=olddata->magnitude + olddata->length,
- *pe=olddata->magnitude + newsize;
- while (p!=pe) *(--p)=0;
- }
+ if (olddata->length < newsize) zero(olddata->magnitude +
+ olddata->length, olddata->magnitude + newsize);
         olddata->length = newsize;
         return olddata;
     } else {
         // Have to allocate new data.
- data_t<> *newdata=allocate(newsize, 0);
- newdata->copies=1;
- newdata->length=newsize;
- digit_t *s=olddata->magnitude, *se=s+olddata->length,
- *t=newdata->magnitude, *te=t+newdata->length;
+ data_t *newdata=allocate(newsize, 0);
+ newdata->copies = 1;
+ newdata->length = newsize;
+
+ digit_t *s = olddata->magnitude, *se = s + olddata->length,
+ *t = newdata->magnitude, *te = t + newdata->length;
         while (s!=se) *t++ = *s++;
- while (t < te) *t++ = 0;
+ zero(t, te);
 
         if (--olddata->copies == 0) deallocate(olddata);
         return newdata;
     }
 }
 
-data_t<> *duplicate(data_t<> *olddata, size_t extra) {
- data_t<> *r = allocate(olddata->length+extra, 0);
- r->length = olddata->length;
- r->copies=1;
-
- digit_t *s = olddata->magnitude, *se = s + olddata->length,
- *t = r->magnitude, *te = t + olddata->length + extra;
- while (s!=se) *t++ = *s++;
- while (t < te) *t++ = 0;
+void deallocate(data_t *data) {
+ data->~data_t();
+ digit_t *digits=reinterpret_cast<digit_t*>(data);
+
+ #ifdef XINT_SECURE
+ zero(digits, data->max_length + datasize - digits_in_struct);
+ #endif
 
- if (olddata && --olddata->copies == 0) deallocate(olddata);
- return r;
+ #ifdef VALGRIND_COMPATIBLE
+ free(digits);
+ #else
+ delete[] digits;
+ #endif
 }
 
-data_t<> *duplicate(data_t<> *olddata, data_t<> *data_to_copy, size_t extra) {
- if (!olddata || olddata->copies > 1 || data_to_copy->length + extra >
- olddata->max_length)
- {
- data_t<> *r = allocate(data_to_copy->length+extra, 0);
- r->length = data_to_copy->length + extra;
- digit_t *s = data_to_copy->magnitude, *se = s + data_to_copy->length,
- *t = r->magnitude, *te = t + r->length;
- while (s!=se) *t++ = *s++;
- while (t < te) *t++ = 0;
- r->copies=1;
- if (olddata && --olddata->copies == 0) deallocate(olddata);
- return r;
+////////////////////////////////////////////////////////////////////////////////
+// bitqueue_t functions
+
+void bitqueue_t::push(doubledigit_t bits, size_t count) {
+ if (count < ddbits) {
+ doubledigit_t mask = (doubledigit_t(1) << count) - 1;
+ bits &= mask;
+ }
+
+ if (pending.empty()) {
+ pending.push(std::make_pair(bits, count));
     } else {
- data_t<> *r = olddata;
- digit_t *s = data_to_copy->magnitude, *se = s + data_to_copy->length,
- *t = r->magnitude, *te = t + r->length + extra;
- while (s != se) *t++ = *s++;
- while (t < te) *t++ = 0;
- r->length = data_to_copy->length;
- return r;
+ indata_t &n(pending.back());
+ if (n.second + count <= ddbits) {
+ n.first |= bits << n.second;
+ n.second += count;
+ } else {
+ pending.push(std::make_pair(bits, count));
+ }
     }
+ bits_pending += count;
 }
 
-void deallocate(data_t<> *data) {
- digit_t *digits=reinterpret_cast<digit_t*>(data);
+doubledigit_t bitqueue_t::pop(size_t requestedbits) {
+ doubledigit_t buffer = 0;
+ size_t bits_in_buffer = 0;
+ while (bits_in_buffer < requestedbits && !pending.empty()) {
+ indata_t &n(pending.front());
+ size_t maxbits = requestedbits - bits_in_buffer, actualbits =
+ (std::min)(n.second, maxbits);
+ buffer |= (n.first << bits_in_buffer);
+
+ n.first >>= actualbits;
+ n.second -= actualbits;
+ bits_in_buffer += actualbits;
+ bits_pending -= actualbits;
 
- #ifdef XINT_SECURE
- digit_t *p = digits, *pe = p + data->max_length + datasize;
- while (p != pe) *p++ = 0;
- #endif
-
- delete[] digits;
+ if (n.second == 0) pending.pop();
+ }
+ return (buffer & ((doubledigit_t(1) << requestedbits) - 1));
 }
 
 } // namespace detail

Modified: sandbox/xint/src/gcd.cpp
==============================================================================
--- sandbox/xint/src/gcd.cpp (original)
+++ sandbox/xint/src/gcd.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -17,7 +17,7 @@
     Also holds the definition for invmod, since it uses the GCD algorithm.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -39,9 +39,10 @@
 
                 if (t3.even() || u3 < t3) {
                     // Swap the u's with the t's
- std::swap(u1, t1);
- std::swap(u2, t2);
- std::swap(u3, t3);
+ using std::swap;
+ swap(u1, t1);
+ swap(u2, t2);
+ swap(u3, t3);
                 }
             } while (u3.even());
 
@@ -57,32 +58,118 @@
 
 } // namespace
 
+namespace detail {
+
+void gcd(base_integer& target, const base_integer& num1, const base_integer&
+ num2)
+{
+ if (num1._is_zero() && num2._is_zero()) {
+ target._set_unsigned(0);
+ } else if (num1._is_zero()) {
+ target._attach(num2);
+ } else if (num2._is_zero()) {
+ target._attach(num1);
+ } else {
+ temp_t n(num1), m(num2);
+ n._set_negative(false);
+ m._set_negative(false);
+
+ size_t k = 0;
+ if (!getbit(n, k) && !getbit(m, k)) ++k;
+ if (k != 0) {
+ shift_right(n, n, k);
+ shift_right(m, m, k);
+ }
+
+ gcd_core core(n._to_integer(), m._to_integer());
+
+ if (core.u3._is_zero()) {
+ shift_left(target, fixed_integer_any(1), k);
+ } else {
+ shift_left(target, core.u3, k);
+ }
+ }
+}
+
+void lcm(base_integer& target, const base_integer& num1, const base_integer&
+ num2)
+{
+ if (num1._is_zero() || num2._is_zero()) {
+ target._set_unsigned(0);
+ } else {
+ integer common;
+ gcd(common, num1, num2);
+
+ integer answer, remainder;
+ multiply(answer, num1, num2);
+ answer._set_negative(false);
+ divide(answer, remainder, answer, common);
+
+ target._attach(answer);
+ }
+}
+
+void invmod(base_integer& target, const base_integer& n, const base_integer& m)
+{
+ // Calculates the modular inverse of n mod m, or (n^(-1)) mod m
+ // Defined as b, where n*b corresponds to 1 (mod m)
+ if (m._is_zero() || m._get_negative()) throw exceptions::invalid_modulus();
+
+ if (n._is_zero()) {
+ target._set_unsigned(0);
+ } else if (n._get_negative()) {
+ integer _n(n._to_integer());
+ _n._set_negative(false);
+
+ integer nn;
+ invmod(nn, _n, m);
+ if (nn._is_zero()) {
+ target._attach(nn);
+ } else {
+ nn._set_negative(true);
+ add(target, nn, m);
+ }
+ } else {
+ integer nn(n._to_integer()), mm(m._to_integer());
+ if (nn.even() && mm.even()) {
+ // GCD != 1, no inverse possible.
+ target._set_unsigned(0);
+ return;
+ }
+
+ gcd_core core(nn, mm);
+
+ if (core.u3 != integer::one()) {
+ // GCD != 1, no inverse possible.
+ target._set_unsigned(0);
+ return;
+ }
+
+ target._attach(core.u1);
+ }
+}
+
+} // namespace detail
+
 /*! \brief Calculate the Greatest Common Denominator of two integers.
 
+- Complexity: O((log n)<sup>3</sup>)
+
 \param[in] num1, num2 The integers to operate on.
 
 \returns The greatest common denominator of the two integers, which will always
 be a positive number.
 */
 integer gcd(const integer& num1, const integer& num2) {
- int sign1=num1.sign(), sign2=num2.sign();
- if (sign1==0 && sign2==0) return integer::zero();
- else if (sign1==0) return num2;
- else if (sign2==0) return num1;
-
- integer n(abs(num1)), m(abs(num2));
-
- size_t k=0;
- while (n.even() && m.even()) { ++k; n >>= 1; m >>= 1; }
-
- gcd_core core(n, m);
-
- if (core.u3.sign() != 0) return core.u3 << k;
- return integer::one() << k;
+ integer r;
+ detail::gcd(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Calculate the Least Common Multiple of two integers.
 
+- Complexity: O((log n)<sup>3</sup> + n<sup>2</sup>)
+
 \param[in] num1, num2 The integers to operate on.
 
 \returns The least common multiple of the two integers. If either integer is
@@ -90,13 +177,16 @@
 return value will be a positive number.
 */
 integer lcm(const integer& num1, const integer& num2) {
- if (num1.sign() == 0 || num2.sign() == 0) return integer::zero();
- return abs(num1 * num2) / gcd(num1, num2);
+ integer r;
+ detail::lcm(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Get the modular inverse of a number in a modulus, if there is one.
 
-\param[in] n The number to retrieve the inverse of.
+- Complexity: O((log n)<sup>3</sup>)
+
+\param[in] n The number to calculate the inverse of.
 \param[in] m The modulus to use.
 
 \returns The modular inverse of \c n in \c m. If \c n has no modular inverse in
@@ -105,30 +195,9 @@
 \exception exceptions::invalid_modulus if the modulus is less than one.
 */
 integer invmod(const integer& n, const integer& m) {
- // Calculates the modular inverse of n mod m, or (n^(-1)) mod m
- // Defined as b, where n*b corresponds to 1 (mod m)
- if (m < integer::one()) throw exceptions::invalid_modulus();
-
- int sign=n.sign();
- if (sign==0) {
- return integer::zero();
- } else if (n.sign() < 0) {
- integer _n(n);
- _n._set_negative(false);
-
- integer nn=invmod(_n, m);
- if (nn.sign()==0) return nn;
-
- nn._set_negative(true);
- return nn + m;
- }
-
- if (n.even() && m.even()) return integer::zero(); // GCD(x,y)!=1, no inverse possible.
-
- gcd_core core(n, m);
-
- if (core.u3 != integer::one()) return integer::zero(); // GCD(x,y)!=1, no inverse possible.
- return core.u1;
+ integer r;
+ detail::invmod(r, n, m);
+ return BOOST_XINT_MOVE(r);
 }
 
 } // namespace xint

Modified: sandbox/xint/src/integer.cpp
==============================================================================
--- sandbox/xint/src/integer.cpp (original)
+++ sandbox/xint/src/integer.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,8 @@
     \brief Contains the definitions for the xint::integer member functions.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 #include <memory> // for auto_ptr
 
 namespace boost {
@@ -32,8 +33,7 @@
 
 /*! \brief Creates a copy of an existing integer.
 
-\param[in] b An existing integer. If passed a Not-a-Number, it will create
-another Not-a-Number.
+\param[in] b An existing integer.
 
 \note
 This library can use a \ref cow "copy-on-write technique", making copying (even
@@ -60,8 +60,20 @@
     _attach(b);
 }
 
+/*! \brief Creates an integer from any fixed_integer type.
+
+\param[in] b An existing fixed_integer.
+
+\overload
+*/
+integer::integer(const fixed_integer_any& b) {
+ _attach(b);
+}
+
 /*! \brief Create an integer from a string representation.
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] str A string representation of a number.
 \param[in] base The base of the number, or xint::autobase.
 
@@ -82,15 +94,13 @@
 \overload
 */
 integer::integer(const std::string& str, size_t base) {
- _attach(from_string(str, base));
-}
-
-void integer::_make_unique() {
- _base_make_unique();
+ detail::from_string(*this, str, base);
 }
 
 /*! \brief Tests the lowest bit of \c *this to determine oddness.
 
+- Complexity: O(1)
+
 \returns \c true if \c *this is odd, otherwise \c false.
 */
 bool integer::odd() const {
@@ -99,6 +109,8 @@
 
 /*! \brief Tests the lowest bit of \c *this to determine evenness.
 
+- Complexity: O(1)
+
 \returns \c true if \c *this is even, otherwise \c false.
 */
 bool integer::even() const {
@@ -107,6 +119,8 @@
 
 /*! \brief Tests the sign of \c *this.
 
+- Complexity: O(1)
+
 \param[in] signed_zero If \c false (the default value), returns zero if \c *this
 is zero. If \c true, returns 1 or -1 on a zero \c *this as well. Primarily used
 to identify a \ref zero "negative zero".
@@ -119,85 +133,73 @@
     else return (_get_negative() ? -1 : 1);
 }
 
-/*! \brief Tells you roughly how large an integer is.
+/*! \brief Tells you roughly how large \c *this is.
+
+- Complexity: O(1)
 
 \returns The number of hexadecimal digits that would be required to encode \c
 *this.
 */
 size_t integer::hex_digits() const {
- size_t bits=log2(*this);
+ size_t bits=_log2();
     return (bits+3)/4; // Four bits per hex digit, rounded up
 }
 
 integer& integer::operator+=(const integer& addend) {
- if ((sign() < 0) == (addend.sign() < 0)
- && _get_length() >= addend._get_length())
- {
- // Fast in-place add
- _make_unique();
- _add(addend);
- } else {
- // This works for all cases
- *this=add(*this, addend);
- }
+ detail::add(*this, *this, addend);
     return *this;
 }
 
 integer& integer::operator-=(const integer& subtrahend) {
- if (sign() >= 0 && subtrahend.sign() >= 0 && *this >= subtrahend) {
- // Fast in-place subtract
- _make_unique();
- _subtract(subtrahend);
- } else {
- // This works for all cases
- *this=subtract(*this, subtrahend);
- }
+ detail::subtract(*this, *this, subtrahend);
     return *this;
 }
 
-integer& integer::operator=(const integer &c) {
+integer& integer::operator=(BOOST_XINT_COPY_ASSIGN_REF(integer) c) {
     _attach(c);
     return *this;
 }
 
-integer& integer::operator*=(const integer& b) { *this=multiply(*this, b); return *this; }
-integer& integer::operator/=(const integer& b) { *this=divide(*this, b); return *this; }
-integer& integer::operator%=(const integer& b) { *this=mod(*this, b); return *this; }
-
-integer& integer::operator++() { *this += one(); return *this; }
-integer& integer::operator--() { *this -= one(); return *this; }
-integer integer::operator++(int) { integer s=*this; *this += one(); return s; }
-integer integer::operator--(int) { integer s=*this; *this -= one(); return s; }
+integer integer::operator-() const { return negate(*this); }
+
+integer& integer::operator*=(const integer& b) { detail::multiply(*this, *this, b); return *this; }
+integer& integer::operator/=(const integer& b) { detail::divide(*this, *this, b); return *this; }
+integer& integer::operator%=(const integer& b) { detail::mod(*this, *this, b); return *this; }
+
+integer& integer::operator++() { _increment(); return *this; }
+integer& integer::operator--() { _decrement(); return *this; }
+integer integer::operator++(int) { integer s=*this; _increment(); return BOOST_XINT_MOVE(s); }
+integer integer::operator--(int) { integer s=*this; _decrement(); return BOOST_XINT_MOVE(s); }
 
 integer integer::operator<<(size_t shift) const { return shift_left(*this, shift); }
 integer integer::operator>>(size_t shift) const { return shift_right(*this, shift); }
-integer& integer::operator&=(const integer& n) { *this=bitwise_and(*this, n); return *this; }
-integer& integer::operator|=(const integer& n) { *this=bitwise_or(*this, n); return *this; }
-integer& integer::operator^=(const integer& n) { *this=bitwise_xor(*this, n); return *this; }
+integer& integer::operator&=(const integer& n) { detail::bitwise_and(*this, *this, n); return *this; }
+integer& integer::operator|=(const integer& n) { detail::bitwise_or(*this, *this, n); return *this; }
+integer& integer::operator^=(const integer& n) { detail::bitwise_xor(*this, *this, n); return *this; }
 
 integer& integer::operator<<=(size_t shift) {
- if (shift>0) {
- _make_unique();
- _shift_left(shift);
- }
+ detail::shift_left(*this, *this, shift);
     return *this;
 }
 
 integer& integer::operator>>=(size_t shift) {
- if (shift>0) {
- _make_unique();
- _shift_right(shift);
- }
+ detail::shift_right(*this, *this, shift);
     return *this;
 }
 
 const integer& integer::zero() {
- if (cZero.get()==0) cZero.reset(new integer(0));
+ if (cZero.get()==0) {
+ cZero.reset(new integer(0));
+ cZero->_set_readonly();
+ }
     return *cZero;
 }
 
 const integer& integer::one() {
- if (cOne.get()==0) cOne.reset(new integer(1));
+ if (cOne.get()==0) {
+ cOne.reset(new integer(1));
+ cOne->_set_readonly();
+ }
     return *cOne;
 }
 

Modified: sandbox/xint/src/misc.cpp
==============================================================================
--- sandbox/xint/src/misc.cpp (original)
+++ sandbox/xint/src/misc.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,7 @@
     \brief Functions that don't fall into any other category.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -49,7 +49,9 @@
 
 /*! \brief Get the log<sub>2</sub> value of an integer.
 
-\param[in] n The integer to operate on.
+- Complexity: O(1)
+
+\param[in] n The %integer to operate on.
 
 \returns The %integer log<sub>2</sub> value of the integer.
 
@@ -61,14 +63,12 @@
 Similar to the #highestbit function.
 */
 size_t log2(const integer& n) {
- size_t r=detail::bits_per_digit * n._get_length();
- detail::digit_t mask=detail::digit_hibit, d=n._get_digit(n._get_length()-1);
- while (mask!=0) {
- if ((mask & d)!=0) break;
- mask>>=1;
- --r;
- }
- return r;
+ return n._log2();
+}
+
+//! \copydoc log2(const integer&)
+size_t log2(const fixed_integer_any& n) {
+ return n._log2();
 }
 
 } // namespace xint

Modified: sandbox/xint/src/modular.cpp
==============================================================================
--- sandbox/xint/src/modular.cpp (original)
+++ sandbox/xint/src/modular.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -18,27 +18,86 @@
     gcd.cpp to share the gcd_core function.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 #include "../boost/xint/monty.hpp"
 
 namespace boost {
 namespace xint {
 
+namespace detail {
+
+void mod(base_integer& target, const base_integer& n, const base_integer& m) {
+ integer q;
+ divide(q, target, n, m);
+ if (target._get_negative()) {
+ temp_t mm(m);
+ mm._set_negative(false);
+ add(target, target, mm);
+ }
+}
+
+void powmod(base_integer& target, const base_integer& _n, const base_integer&
+ _e, const base_integer& _m, bool noMontgomery)
+{
+ if (_m._is_zero() || _m._get_negative()) throw exceptions::invalid_modulus();
+ if (_e._is_zero()) {
+ target._set_unsigned(1);
+ return;
+ }
+
+ integer n(_n._to_integer()), e(_e._to_integer()), m(_m._to_integer()),
+ answer(integer::one());
+ bool neg=(n.sign() < 0 && e.odd());
+
+ // Montgomery's method is often noticeably faster, but only works if the
+ // m is odd.
+ if (m.odd() && !noMontgomery) {
+ answer = montgomeryPowerMod(abs(n) % m, abs(e), m);
+ } else {
+ integer p(abs(n));
+
+ size_t length=e._get_length(), lastBitCount=0;
+ detail::digit_t ee(e._get_digit(length-1));
+ while (ee != 0) { ee >>= 1; ++lastBitCount; }
+
+ for (size_t eIndex=0; eIndex < length; ++eIndex) {
+ detail::digit_t ee(e._get_digit(eIndex));
+
+ int bitCount(int(eIndex == length-1 ? lastBitCount :
+ detail::bits_per_digit));
+ while (bitCount-- > 0) {
+ if (ee & 0x01) answer=mulmod(answer, p, m);
+ p=sqrmod(p, m);
+ ee >>= 1;
+ }
+ }
+ }
+
+ answer._set_negative(neg);
+ target._attach(answer);
+}
+
+} // namespace detail
+
 /*! \brief Get the remainder after dividing a number by another.
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] n The dividend.
 \param[in] m The divisor.
 
 \returns The result of \c n % \c m.
 */
 integer mod(const integer& n, const integer& m) {
- integer r=divide_r(n, m).second;
- if (r.sign() < 0) r+=abs(m);
- return r;
+ integer r;
+ detail::mod(r, n, m);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Get the modular product of two integers.
 
+- Complexity: O(2n<sup>2</sup>)
+
 \param[in] n, by The integers to multiply.
 \param[in] m The modulus.
 
@@ -55,6 +114,8 @@
 
 /*! \brief Get the modular product of squaring an integer.
 
+- Complexity: O(2n<sup>2</sup>)
+
 \param[in] n The integer to square.
 \param[in] m The modulus.
 
@@ -72,6 +133,8 @@
 /*! \brief Get the result of \c n<sup>e</sup> % \c m, keeping the intermediate
            results (relatively) small.
 
+- Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)
+
 \param[in] n The integer to exponentiate.
 \param[in] e The exponent.
 \param[in] m The modulus.
@@ -83,7 +146,7 @@
 
 \remarks
 Because this function keeps the intermediate results small, it is far faster
-and uses far less memory than writing out the equivalent calculations.
+and uses far less memory than a naive implementation.
 
 \par
 In addition, this function will use the Montgomery Reduction internally, if the
@@ -93,39 +156,9 @@
 integer powmod(const integer& n, const integer& e, const integer& m, bool
     noMontgomery)
 {
- if (m < integer::one()) throw exceptions::invalid_modulus();
- if (e.sign()==0) return integer::one();
-
- bool neg=(n.sign() < 0 && e.odd());
-
- integer answer(integer::one());
-
- // Montgomery's method is often noticeably faster, but only works if the
- // m is odd.
- if (m.odd() && !noMontgomery) {
- answer=montgomeryPowerMod(abs(n) % m, abs(e), m);
- } else {
- integer p(abs(n));
-
- size_t length=e._get_length(), lastBitCount=0;
- detail::digit_t ee(e._get_digit(length-1));
- while (ee != 0) { ee >>= 1; ++lastBitCount; }
-
- for (size_t eIndex=0; eIndex < length; ++eIndex) {
- detail::digit_t ee(e._get_digit(eIndex));
-
- int bitCount(int(eIndex == length-1 ? lastBitCount :
- detail::bits_per_digit));
- while (bitCount-- > 0) {
- if (ee & 0x01) answer=mulmod(answer, p, m);
- p=sqrmod(p, m);
- ee >>= 1;
- }
- }
- }
-
- answer._set_negative(neg);
- return answer;
+ integer r;
+ detail::powmod(r, n, e, m, noMontgomery);
+ return BOOST_XINT_MOVE(r);
 }
 
 } // namespace xint

Modified: sandbox/xint/src/monty.cpp
==============================================================================
--- sandbox/xint/src/monty.cpp (original)
+++ sandbox/xint/src/monty.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -18,7 +18,7 @@
     Reduction, used internally for an extra-fast xint::powmod.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 #include <boost/scoped_array.hpp>
 
@@ -108,7 +108,9 @@
     } while (++i <= L1);
 
     t >>= (bits_per_digit * L); // Fast divide by r
- return (t >= n ? t - n : t);
+
+ if (t >= n) return t - n;
+ else return BOOST_XINT_MOVE(t);
 }
 
 namespace {
@@ -273,7 +275,6 @@
             while (tu.first-- > 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
         }
     }
-
     return montgomeryMultiplyMod(pp, integer::one(), n, nPrime0);
 }
 

Modified: sandbox/xint/src/nothrow_bit_manipulations.cpp
==============================================================================
--- sandbox/xint/src/nothrow_bit_manipulations.cpp (original)
+++ sandbox/xint/src/nothrow_bit_manipulations.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -27,7 +27,7 @@
 */
 bool getbit(const nothrow_integer& n, size_t bit) {
     try {
- return getbit(xint::integer(n), bit);
+ return detail::getbit(n, bit);
     } catch (std::exception&) {
         return false;
     }
@@ -36,9 +36,7 @@
 //! \copydoc xint::setbit
 void setbit(nothrow_integer& n, size_t bit) {
     try {
- xint::integer nn(n);
- setbit(nn, bit);
- n=nothrow_integer(nn);
+ detail::setbit(n, bit);
     } catch (std::exception&) {
         // Do nothing
     }
@@ -47,9 +45,7 @@
 //! \copydoc xint::clearbit
 void clearbit(nothrow_integer& n, size_t bit) {
     try {
- xint::integer nn(n);
- clearbit(nn, bit);
- n=nothrow_integer(nn);
+ detail::clearbit(n, bit);
     } catch (std::exception&) {
         // Do nothing
     }
@@ -61,7 +57,7 @@
 */
 size_t lowestbit(const nothrow_integer& n, size_t valueIfZero) {
     try {
- return lowestbit(xint::integer(n), valueIfZero);
+ return detail::lowestbit(n, valueIfZero);
     } catch (std::exception&) {
         return 0;
     }
@@ -73,7 +69,7 @@
 */
 size_t highestbit(const nothrow_integer& n, size_t valueIfZero) {
     try {
- return highestbit(xint::integer(n), valueIfZero);
+ return detail::highestbit(n, valueIfZero);
     } catch (std::exception&) {
         return 0;
     }
@@ -82,7 +78,9 @@
 //! \copydoc xint::bitwise_and
 nothrow_integer bitwise_and(const nothrow_integer& n1, const nothrow_integer& n2) {
     try {
- return nothrow_integer(bitwise_and(xint::integer(n1), xint::integer(n2)));
+ nothrow_integer r;
+ detail::bitwise_and(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -91,7 +89,9 @@
 //! \copydoc xint::bitwise_or
 nothrow_integer bitwise_or(const nothrow_integer& n1, const nothrow_integer& n2) {
     try {
- return nothrow_integer(bitwise_or(xint::integer(n1), xint::integer(n2)));
+ nothrow_integer r;
+ detail::bitwise_or(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -100,7 +100,9 @@
 //! \copydoc xint::bitwise_xor
 nothrow_integer bitwise_xor(const nothrow_integer& n1, const nothrow_integer& n2) {
     try {
- return nothrow_integer(bitwise_xor(xint::integer(n1), xint::integer(n2)));
+ nothrow_integer r;
+ detail::bitwise_xor(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -115,7 +117,9 @@
 //! \copydoc xint::shift_left
 nothrow_integer shift_left(const nothrow_integer& n, size_t byBits) {
     try {
- return nothrow_integer(shift_left(xint::integer(n), byBits));
+ nothrow_integer r;
+ detail::shift_left(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -124,7 +128,9 @@
 //! \copydoc xint::shift_right
 nothrow_integer shift_right(const nothrow_integer& n, size_t byBits) {
     try {
- return nothrow_integer(shift_right(xint::integer(n), byBits));
+ nothrow_integer r;
+ detail::shift_right(r, n, byBits);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/nothrow_compare.cpp
==============================================================================
--- sandbox/xint/src/nothrow_compare.cpp (original)
+++ sandbox/xint/src/nothrow_compare.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -26,32 +26,18 @@
 \note Returns 0 instead of throwing.
 */
 int compare(const nothrow_integer &b1, const nothrow_integer &b2, bool ignoresign) {
- try {
- return compare(xint::integer(b1), xint::integer(b2));
- } catch (std::exception&) {
- return 0;
- }
+ if (b1.is_nan() || b2.is_nan()) return 0;
+ return detail::compare(b1, b2);
 }
 
 namespace {
 template <typename T>
-bool cmp(const nothrow_integer &num1, const nothrow_integer &num2, const T& t) {
- try {
- return t(compare(xint::integer(num1), xint::integer(num2)), 0);
- } catch (std::exception&) {
- return false;
- }
+bool cmp(const nothrow_integer &b1, const nothrow_integer &b2, const T& t) {
+ if (b1.is_nan() || b2.is_nan()) return false;
+ return t(detail::compare(b1, b2), 0);
 }
 } // namespace
 
-bool operator!(const nothrow_integer &num1) {
- try {
- return operator!(xint::integer(num1));
- } catch (std::exception&) {
- return false;
- }
-}
-
 bool operator==(const nothrow_integer &num1, const nothrow_integer &num2) {
     return cmp(num1, num2, std::equal_to<int>()); }
 bool operator!=(const nothrow_integer& num1, const nothrow_integer& num2) {

Modified: sandbox/xint/src/nothrow_convert.cpp
==============================================================================
--- sandbox/xint/src/nothrow_convert.cpp (original)
+++ sandbox/xint/src/nothrow_convert.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -18,7 +18,7 @@
     function and must be defined in a header file.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -34,7 +34,7 @@
 */
 std::string to_string(const nothrow_integer& n, size_t base, bool uppercase) {
     try {
- return to_string(xint::integer(n), base, uppercase);
+ return detail::to_string(n, base, uppercase);
     } catch (std::exception&) {
         return std::string();
     }
@@ -47,30 +47,37 @@
 nothrow_integer nothrow_from_string(const std::string& str, size_t base) {
     try {
         if (str==detail::nan_text) return nothrow_integer::nan();
- return nothrow_integer(xint::from_string(str, base));
+
+ nothrow_integer r;
+ detail::from_string(r, str, base);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
 }
 
 //! \copydoc xint::from_binary
-nothrow_integer nothrow_from_binary(const std::string& str) {
+nothrow_integer nothrow_from_binary(const xint::binary_t& b, size_t bits) {
     try {
- return nothrow_integer(xint::from_binary(str));
+ nothrow_integer r;
+ detail::from_binary(r, b, bits);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
 }
 
-/*! \copydoc xint::to_binary(const integer&)
+/*! \copydoc xint::to_binary(const integer&, size_t)
 
-\par Returns an empty std::string instead of throwing.
+\note Returns an empty xint::binary_t instead of throwing.
 */
-std::string to_binary(const nothrow_integer& n) {
+xint::binary_t to_binary(const nothrow_integer& n, size_t bits) {
     try {
- return to_binary(xint::integer(n));
+ xint::binary_t r;
+ detail::to_binary(r, n, bits);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
- return std::string();
+ return xint::binary_t();
     }
 }
 

Modified: sandbox/xint/src/nothrow_gcd.cpp
==============================================================================
--- sandbox/xint/src/nothrow_gcd.cpp (original)
+++ sandbox/xint/src/nothrow_gcd.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -24,7 +24,9 @@
 //! \copydoc xint::gcd(const integer&, const integer&)
 nothrow_integer gcd(const nothrow_integer& num1, const nothrow_integer& num2) {
     try {
- return nothrow_integer(gcd(xint::integer(num1), xint::integer(num2)));
+ nothrow_integer r;
+ detail::gcd(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -33,7 +35,9 @@
 //! \copydoc xint::lcm(const integer&, const integer&)
 nothrow_integer lcm(const nothrow_integer& num1, const nothrow_integer& num2) {
     try {
- return nothrow_integer(lcm(xint::integer(num1), xint::integer(num2)));
+ nothrow_integer r;
+ detail::lcm(r, num1, num2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/nothrow_integer.cpp
==============================================================================
--- sandbox/xint/src/nothrow_integer.cpp (original)
+++ sandbox/xint/src/nothrow_integer.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,7 @@
     \brief Contains the definitions for the \c nothrow_integer member functions.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 #include <memory> // for auto_ptr
 
 namespace boost {
@@ -35,7 +35,17 @@
     _attach_0();
 }
 
-//! \copydoc integer::integer(const integer&)
+/*! \brief Creates a copy of an existing integer.
+
+\param[in] b An existing integer. If passed a Not-a-Number, it will create
+another Not-a-Number.
+
+\note
+This library can use a \ref cow "copy-on-write technique", making copying (even
+of large numbers) a very inexpensive operation.
+
+\overload
+*/
 nothrow_integer::nothrow_integer(const nothrow_integer& b) {
     try {
         if (!b.is_nan()) _attach(b);
@@ -62,6 +72,20 @@
     }
 }
 
+/*! \brief Creates a nothrow_integer from any fixed_integer type.
+
+\param[in] b An existing fixed_integer.
+
+\overload
+*/
+nothrow_integer::nothrow_integer(const fixed_integer_any& b) {
+ try {
+ _attach(b);
+ } catch (std::exception&) {
+ // Do nothing, automatically sets to Not-a-Number
+ }
+}
+
 //! \copydoc xint::integer::integer(const std::string&, size_t)
 nothrow_integer::nothrow_integer(const std::string& str, size_t base) {
     try {
@@ -105,7 +129,8 @@
 */
 size_t nothrow_integer::hex_digits() const {
     try {
- return xint::nothrow_integer(*this).hex_digits();
+ size_t bits=_log2();
+ return (bits+3)/4; // Four bits per hex digit, rounded up
     } catch (std::exception&) {
         return 0;
     }
@@ -123,7 +148,7 @@
 
 nothrow_integer& nothrow_integer::operator+=(const nothrow_integer& addend) {
     try {
- *this=nothrow_integer(xint::nothrow_integer(*this).operator+=(xint::nothrow_integer(addend)));
+ detail::add(*this, *this, addend);
     } catch (std::exception&) {
         *this=nothrow_integer::nan();
     }
@@ -132,40 +157,44 @@
 
 nothrow_integer& nothrow_integer::operator-=(const nothrow_integer& subtrahend) {
     try {
- *this=nothrow_integer(xint::nothrow_integer(*this).operator-=(xint::nothrow_integer(subtrahend)));
+ detail::subtract(*this, *this, subtrahend);
     } catch (std::exception&) {
         *this=nothrow_integer::nan();
     }
     return *this;
 }
 
-nothrow_integer& nothrow_integer::operator=(const nothrow_integer &c) {
+nothrow_integer& nothrow_integer::operator=(BOOST_XINT_COPY_ASSIGN_REF(
+ nothrow_integer) c)
+{
     try {
         _attach(c);
     } catch (std::exception&) {
- _attach(0);
+ _base_attach(0);
     }
     return *this;
 }
 
-nothrow_integer& nothrow_integer::operator*=(const nothrow_integer& b) { *this=multiply(*this, b); return *this; }
-nothrow_integer& nothrow_integer::operator/=(const nothrow_integer& b) { *this=divide(*this, b); return *this; }
-nothrow_integer& nothrow_integer::operator%=(const nothrow_integer& b) { *this=mod(*this, b); return *this; }
-
-nothrow_integer& nothrow_integer::operator++() { *this += one(); return *this; }
-nothrow_integer& nothrow_integer::operator--() { *this -= one(); return *this; }
-nothrow_integer nothrow_integer::operator++(int) { nothrow_integer s=*this; *this += one(); return s; }
-nothrow_integer nothrow_integer::operator--(int) { nothrow_integer s=*this; *this -= one(); return s; }
+nothrow_integer nothrow_integer::operator-() const { return negate(*this); }
+
+nothrow_integer& nothrow_integer::operator*=(const nothrow_integer& b) { detail::multiply(*this, *this, b); return *this; }
+nothrow_integer& nothrow_integer::operator/=(const nothrow_integer& b) { detail::divide(*this, *this, b); return *this; }
+nothrow_integer& nothrow_integer::operator%=(const nothrow_integer& b) { detail::mod(*this, *this, b); return *this; }
+
+nothrow_integer& nothrow_integer::operator++() { _make_unique(true); _increment(); return *this; }
+nothrow_integer& nothrow_integer::operator--() { _make_unique(true); _decrement(); return *this; }
+nothrow_integer nothrow_integer::operator++(int) { nothrow_integer s=*this; _make_unique(true); _increment(); return BOOST_XINT_MOVE(s); }
+nothrow_integer nothrow_integer::operator--(int) { nothrow_integer s=*this; _make_unique(true); _decrement(); return BOOST_XINT_MOVE(s); }
 
 nothrow_integer nothrow_integer::operator<<(size_t shift) const { return shift_left(*this, shift); }
 nothrow_integer nothrow_integer::operator>>(size_t shift) const { return shift_right(*this, shift); }
-nothrow_integer& nothrow_integer::operator&=(const nothrow_integer& n) { *this=bitwise_and(*this, n); return *this; }
-nothrow_integer& nothrow_integer::operator|=(const nothrow_integer& n) { *this=bitwise_or(*this, n); return *this; }
-nothrow_integer& nothrow_integer::operator^=(const nothrow_integer& n) { *this=bitwise_xor(*this, n); return *this; }
+nothrow_integer& nothrow_integer::operator&=(const nothrow_integer& n) { detail::bitwise_and(*this, *this, n); return *this; }
+nothrow_integer& nothrow_integer::operator|=(const nothrow_integer& n) { detail::bitwise_or(*this, *this, n); return *this; }
+nothrow_integer& nothrow_integer::operator^=(const nothrow_integer& n) { detail::bitwise_xor(*this, *this, n); return *this; }
 
 nothrow_integer& nothrow_integer::operator<<=(size_t shift) {
     try {
- *this=nothrow_integer(xint::nothrow_integer(*this).operator<<=(shift));
+ detail::shift_left(*this, *this, shift);
     } catch (std::exception&) {
         *this=nothrow_integer::nan();
     }
@@ -174,7 +203,7 @@
 
 nothrow_integer& nothrow_integer::operator>>=(size_t shift) {
     try {
- *this=nothrow_integer(xint::nothrow_integer(*this).operator>>=(shift));
+ detail::shift_right(*this, *this, shift);
     } catch (std::exception&) {
         *this=nothrow_integer::nan();
     }
@@ -182,29 +211,35 @@
 }
 
 const nothrow_integer& nothrow_integer::zero() {
- if (cZero.get()==0) cZero.reset(new nothrow_integer(xint::nothrow_integer::zero()));
+ if (cZero.get()==0) {
+ cZero.reset(new nothrow_integer(integer::zero()));
+ cZero->_set_readonly();
+ }
     return *cZero;
 }
 
 const nothrow_integer& nothrow_integer::one() {
- if (cOne.get()==0) cOne.reset(new nothrow_integer(xint::nothrow_integer::one()));
+ if (cOne.get()==0) {
+ cOne.reset(new nothrow_integer(integer::one()));
+ cOne->_set_readonly();
+ }
     return *cOne;
 }
 
 const nothrow_integer& nothrow_integer::nan() {
     if (cNaN.get()==0) {
- nothrow_integer *n=new nothrow_integer();
- n->_attach(0);
- cNaN.reset(n);
+ cNaN.reset(new nothrow_integer());
+ cNaN->_base_attach(0);
+ cNaN->_set_readonly();
     }
     return *cNaN;
 }
 
-void nothrow_integer::_make_unique() {
+void nothrow_integer::_make_unique(bool) {
     try {
- _base_make_unique();
+ detail::base_integer::_make_unique();
     } catch (std::exception&) {
- _attach(0); // Turns it into a Not-a-Number.
+ _base_attach(0); // Turns it into a Not-a-Number.
     }
 }
 

Modified: sandbox/xint/src/nothrow_misc.cpp
==============================================================================
--- sandbox/xint/src/nothrow_misc.cpp (original)
+++ sandbox/xint/src/nothrow_misc.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            other category.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -27,7 +27,7 @@
 */
 size_t log2(const nothrow_integer& n) {
     try {
- return log2(xint::integer(n));
+ return (n._is_nan() ? 0 : n._log2());
     } catch (std::exception&) {
         return 0;
     }

Modified: sandbox/xint/src/nothrow_modular.cpp
==============================================================================
--- sandbox/xint/src/nothrow_modular.cpp (original)
+++ sandbox/xint/src/nothrow_modular.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            the \c nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -24,7 +24,9 @@
 //! \copydoc xint::mod(const integer&, const integer&)
 nothrow_integer mod(const nothrow_integer& n, const nothrow_integer& m) {
     try {
- return nothrow_integer(mod(xint::integer(n), xint::integer(m)));
+ nothrow_integer r;
+ detail::mod(r, n, m);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -33,8 +35,7 @@
 //! \copydoc xint::mulmod(const integer&, const integer&, const integer&)
 nothrow_integer mulmod(const nothrow_integer& n, const nothrow_integer& by, const nothrow_integer& m) {
     try {
- return nothrow_integer(mod(xint::integer(n) * xint::integer(by),
- xint::integer(m)));
+ return mod(n * by, m);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -43,19 +44,20 @@
 //! \copydoc xint::sqrmod(const integer&, const integer&)
 nothrow_integer sqrmod(const nothrow_integer& n, const nothrow_integer& m) {
     try {
- return nothrow_integer(mod(sqr(xint::integer(n)), xint::integer(m)));
+ return mod(sqr(n), m);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
 }
 
 //! \copydoc xint::powmod(const integer&, const integer&, const integer&, bool)
-nothrow_integer powmod(const nothrow_integer& n, const nothrow_integer& e, const nothrow_integer& m, bool
- noMontgomery)
+nothrow_integer powmod(const nothrow_integer& n, const nothrow_integer& e, const
+ nothrow_integer& m, bool noMontgomery)
 {
     try {
- return nothrow_integer(powmod(xint::integer(n), xint::integer(e),
- xint::integer(m), noMontgomery));
+ nothrow_integer r;
+ detail::powmod(r, n, e, m, noMontgomery);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -67,7 +69,9 @@
 */
 nothrow_integer invmod(const nothrow_integer& n, const nothrow_integer& m) {
     try {
- return nothrow_integer(invmod(xint::integer(n), xint::integer(m)));
+ nothrow_integer r;
+ detail::invmod(r, n, m);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/nothrow_operators.cpp
==============================================================================
--- sandbox/xint/src/nothrow_operators.cpp (original)
+++ sandbox/xint/src/nothrow_operators.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,13 +16,11 @@
            \c nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
 
-const nothrow_integer& operator+(const nothrow_integer& a) { return a; }
-nothrow_integer operator-(const nothrow_integer& a) { return negate(a); }
 nothrow_integer operator+(const nothrow_integer& num1, const nothrow_integer& num2) { return add(num1, num2); }
 nothrow_integer operator-(const nothrow_integer& num1, const nothrow_integer& num2) { return subtract(num1, num2); }
 nothrow_integer operator*(const nothrow_integer& num1, const nothrow_integer& num2) { return multiply(num1, num2); }

Modified: sandbox/xint/src/nothrow_powers.cpp
==============================================================================
--- sandbox/xint/src/nothrow_powers.cpp (original)
+++ sandbox/xint/src/nothrow_powers.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            powers of a number.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -25,13 +25,15 @@
 nothrow_integer nothrow_pow2(size_t e) {
     nothrow_integer r;
     setbit(r, e);
- return r;
+ return BOOST_XINT_MOVE(r);
 }
 
 //! \copydoc xint::sqr(const integer&)
 nothrow_integer sqr(const nothrow_integer& n) {
     try {
- return nothrow_integer(sqr(xint::integer(n)));
+ nothrow_integer r;
+ detail::sqr(r, n);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -40,7 +42,9 @@
 //! \copydoc xint::pow(const integer&, const integer&)
 nothrow_integer pow(const nothrow_integer& n, const nothrow_integer& e) {
     try {
- return nothrow_integer(pow(xint::integer(n), xint::integer(e)));
+ nothrow_integer r;
+ detail::pow(r, n, e);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -49,7 +53,9 @@
 //! \copydoc xint::factorial
 nothrow_integer nothrow_factorial(size_t n) {
     try {
- return nothrow_integer(xint::factorial(n));
+ nothrow_integer r;
+ detail::factorial(r, n);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/nothrow_primes.cpp
==============================================================================
--- sandbox/xint/src/nothrow_primes.cpp (original)
+++ sandbox/xint/src/nothrow_primes.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            the \c nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -36,7 +36,8 @@
 //! \copydoc xint::random_prime
 nothrow_integer nothrow_random_prime(size_t size_in_bits, callback_t callback) {
     try {
- return nothrow_integer(xint::random_prime(size_in_bits, callback));
+ nothrow_integer r(xint::random_prime(size_in_bits, callback));
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/nothrow_primitives.cpp
==============================================================================
--- sandbox/xint/src/nothrow_primitives.cpp (original)
+++ sandbox/xint/src/nothrow_primitives.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -24,7 +24,11 @@
 //! \copydoc xint::abs(const integer&)
 nothrow_integer abs(const nothrow_integer& n) {
     try {
- return nothrow_integer(abs(xint::integer(n)));
+ if (n._get_negative()) {
+ return -n;
+ } else {
+ return n;
+ }
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -33,7 +37,11 @@
 //! \copydoc xint::negate(const integer&)
 nothrow_integer negate(const nothrow_integer& n) {
     try {
- return nothrow_integer(negate(xint::integer(n)));
+ if (n.is_nan()) return n;
+
+ nothrow_integer nn(n);
+ nn._toggle_negative();
+ return BOOST_XINT_MOVE(nn);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -42,7 +50,9 @@
 //! \copydoc xint::add(const integer&, const integer&)
 nothrow_integer add(const nothrow_integer& n1, const nothrow_integer& n2) {
     try {
- return nothrow_integer(add(xint::integer(n1), xint::integer(n2)));
+ nothrow_integer r;
+ detail::add(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -51,7 +61,9 @@
 //! \copydoc xint::subtract(const integer&, const integer&)
 nothrow_integer subtract(const nothrow_integer& n1, const nothrow_integer& n2) {
     try {
- return nothrow_integer(subtract(xint::integer(n1), xint::integer(n2)));
+ nothrow_integer r;
+ detail::subtract(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
@@ -60,26 +72,38 @@
 //! \copydoc xint::multiply(const integer&, const integer&)
 nothrow_integer multiply(const nothrow_integer& n, const nothrow_integer& by) {
     try {
- return nothrow_integer(multiply(xint::integer(n), xint::integer(by)));
+ nothrow_integer r;
+ detail::multiply(r, n, by);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }
 }
 
 //! \copydoc xint::divide(const integer&, const integer&)
-nothrow_integer divide(const nothrow_integer& dividend, const nothrow_integer& divisor) {
- return divide_r(dividend, divisor).first;
+nothrow_integer divide(const nothrow_integer& dividend, const nothrow_integer&
+ divisor)
+{
+ nothrow_integer::divide_t answer(divide_r(dividend, divisor));
+ return BOOST_XINT_MOVE(answer.quotient);
 }
 
 /*! \copydoc xint::divide_r(const integer&, const integer&)
 
-\note Returns an std::pair with two Not-a-Number values instead of throwing.
+\note Returns two Not-a-Number values instead of throwing.
 */
-std::pair<nothrow_integer, nothrow_integer> divide_r(const nothrow_integer& d1, const nothrow_integer& d2) {
- try {
- return divide_r(xint::integer(d1), xint::integer(d2));
- } catch (std::exception&) {
- return std::make_pair(nothrow_integer::nan(), nothrow_integer::nan());
+nothrow_integer::divide_t divide_r(const nothrow_integer& d1, const
+ nothrow_integer& d2)
+{
+ try {
+ nothrow_integer q, r;
+ detail::divide(q, r, d1, d2);
+ return BOOST_XINT_FORWARD(nothrow_integer::divide_t,
+ nothrow_integer::divide_t( BOOST_XINT_MOVE(q), BOOST_XINT_MOVE(r)));
+ } catch (std::exception&) {
+ return BOOST_XINT_FORWARD(nothrow_integer::divide_t,
+ nothrow_integer::divide_t(nothrow_integer::nan(),
+ nothrow_integer::nan()));
     }
 }
 

Modified: sandbox/xint/src/nothrow_random.cpp
==============================================================================
--- sandbox/xint/src/nothrow_random.cpp (original)
+++ sandbox/xint/src/nothrow_random.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            nothrow_integer type.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {

Modified: sandbox/xint/src/nothrow_roots.cpp
==============================================================================
--- sandbox/xint/src/nothrow_roots.cpp (original)
+++ sandbox/xint/src/nothrow_roots.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -16,7 +16,7 @@
            roots of a number.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/nothrow_integer.hpp"
 
 namespace boost {
 namespace xint {
@@ -24,7 +24,9 @@
 //! \copydoc xint::sqrt(const integer&)
 nothrow_integer sqrt(const nothrow_integer& n) {
     try {
- return nothrow_integer(sqrt(xint::integer(n)));
+ nothrow_integer r;
+ detail::sqrt(r, n);
+ return BOOST_XINT_MOVE(r);
     } catch (std::exception&) {
         return nothrow_integer::nan();
     }

Modified: sandbox/xint/src/operators.cpp
==============================================================================
--- sandbox/xint/src/operators.cpp (original)
+++ sandbox/xint/src/operators.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,11 +15,10 @@
     \brief Contains the definitions for the basic math operators.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 namespace boost {
 namespace xint {
-const integer& operator+(const integer& a) { return a; }
 integer operator-(const integer& a) { return negate(a); }
 integer operator+(const integer& num1, const integer& num2) { return add(num1, num2); }
 integer operator-(const integer& num1, const integer& num2) { return subtract(num1, num2); }

Modified: sandbox/xint/src/powers.cpp
==============================================================================
--- sandbox/xint/src/powers.cpp (original)
+++ sandbox/xint/src/powers.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,8 @@
     \brief Contains the definitions for functions related to powers of a number.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
+#include "../boost/xint/fixed_integer.hpp"
 
 #include <vector>
 
@@ -24,20 +25,123 @@
 
 using namespace detail;
 
-namespace {
+namespace detail {
 
- bool addOverflow(doubledigit_t &n1, doubledigit_t n2) {
- doubledigit_t t=(n1>>1)+(n2>>1);
- if ((n1&1) && (n2&1)) ++t;
- n1+=n2;
- if (t & doubledigit_hibit) return true;
- return false;
+void sqr(base_integer& target, const base_integer& n) {
+ const digit_t *ndigits = n._get_digits();
+ size_t nlen = n._get_length();
+
+ integer r;
+ r._realloc(nlen * 2 + 1);
+ digit_t *rdigits = r._get_writable_digits();
+
+ // Calculate the product of digits of unequal index
+ size_t i = 0;
+ doubledigit_t c;
+ do {
+ const doubledigit_t ii = ndigits[i];
+ const digit_t *jp = ndigits + i + 1;
+ digit_t *rp = rdigits + i + (i + 1), *rpe = rdigits + i + nlen;
+
+ c = 0;
+ while (rp < rpe) {
+ doubledigit_t t = ii * *jp++ + *rp + c;
+ *rp++ = static_cast<digit_t>(t);
+ c = (t >> bits_per_digit);
+ }
+ *rp = static_cast<digit_t>(c);
+ } while (++i < nlen - 1);
+
+ // Multiplication of inner products by two
+ c = 0;
+ digit_t *rp = rdigits + 1, *rpe = rdigits + (2 * nlen) - 1;
+ do {
+ doubledigit_t t = (doubledigit_t(*rp) << 1) + c;
+ *rp++ = static_cast<digit_t>(t);
+ c = (t >> bits_per_digit);
+ } while (rp < rpe);
+ *rp = static_cast<digit_t>(c);
+
+ // Addition of inner squares
+ const digit_t *ip = ndigits, *ipe = ndigits + nlen;
+ rp = rdigits;
+ c = 0;
+ do {
+ doubledigit_t t = doubledigit_t(*ip) * *ip + *rp + c;
+ *rp++ = static_cast<digit_t>(t);
+ c = (t >> bits_per_digit);
+
+ t = c + *rp;
+ *rp++ = static_cast<digit_t>(t);
+ c = (t >> bits_per_digit);
+ } while (++ip < ipe);
+ *rp += static_cast<digit_t>(c);
+
+ r._cleanup();
+ target._attach(r);
+}
+
+void pow(base_integer& target, const base_integer& n, const base_integer& e) {
+ if (e._is_zero()) {
+ // Anything to the zeroth power is one.
+ target._set_unsigned(1);
+ return;
+ } else if (!e._is_zero() && e._get_negative()) {
+ // Anything to a negative power is a fractional value, which an integer
+ // library can't represent.
+ target._set_unsigned(0);
+ return;
+ }
+
+ bool neg=(!n._is_zero() && n._get_negative() && (e._get_digit(0) & 0x01));
+
+ size_t length=e._get_length(), lastBitCount=0;
+ digit_t ee(e._get_digit(length-1));
+ while (ee != 0) { ee >>= 1; ++lastBitCount; }
+
+ temp_t p(n);
+ p._set_negative(false);
+
+ // If target is a fixed integer, we want to calculate using the same
+ // limitations on intermediate values.
+ temp_t answer(target, 1);
+ answer._set_unsigned(1);
+ for (size_t eIndex=0; eIndex < length; ++eIndex) {
+ digit_t eee(e._get_digit(eIndex));
+
+ int bitCount(int(eIndex == length-1 ? lastBitCount : bits_per_digit));
+ while (bitCount-- > 0) {
+ if (eee & 0x01) multiply(answer, answer, p);
+ sqr(p, p);
+ eee >>= 1;
+ }
     }
 
-} // namespace
+ answer._set_negative(neg);
+ target._attach(answer);
+}
+
+void factorial(base_integer& target, size_t n) {
+ // If target is a fixed integer, we want to calculate using the same
+ // limitations on intermediate values.
+ temp_t answer(target, 1);
+ answer._set_unsigned(1);
+
+ fixed_integer_any nn(n);
+ while (nn > 1) {
+ multiply(answer, answer, nn);
+ nn._decrement();
+ }
+
+ target._attach(answer);
+}
+
+} // namespace detail
 
 /*! \brief Calculate the value of 2<sup>e</sup>
 
+- Complexity: O(1)
+
 \param[in] e The exponent to operate on.
 
 \returns 2 to the power of \c e.
@@ -48,93 +152,43 @@
 integer pow2(size_t e) {
     integer r;
     setbit(r, e);
- return r;
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Calculate the value of n<sup>2</sup>
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] n The integer to operate on.
 
 \returns \c n times \c n.
 
 This function uses a faster algorithm than the standard multiplication one.
-
-\todo Rewrite this to eliminate the inefficient addOverflow.
 */
 integer sqr(const integer& n) {
- const digit_t *ndigits=n._get_digits();
- size_t nlen=n._get_length();
- std::vector<doubledigit_t> a(nlen*2+1, 0);
- doubledigit_t *adigit=&a[0];
-
- size_t i, j;
- integer addend;
- addend._realloc(nlen*2+1);
- digit_t *adigits=addend._get_digits();
-
- const digit_t *ndigitip=ndigits;
- for (i=0; i<nlen; ++i, ++ndigitip) {
- digit_t ndigiti=*ndigitip;
- doubledigit_t t=(doubledigit_t(ndigiti) * ndigiti);
- if (addOverflow(adigit[2*i], t)) ++adigits[2*i+2];
-
- for (j=i+1; j<nlen; ++j) {
- doubledigit_t t=(doubledigit_t(ndigits[j]) * ndigiti);
- if (t & doubledigit_hibit) ++adigits[i+j+2];
- t<<=1;
- if (addOverflow(adigit[i+j], t)) ++adigits[i+j+2];
- }
- }
-
- integer answer;
- answer._realloc(nlen*2+1);
-
- doubledigit_t carry=0;
- digit_t *ansdigits=answer._get_digits();
- for (i=0, j=nlen*2+1; i<j; ++i) {
- if (addOverflow(carry, adigit[i])) ++adigits[i+2];
- ansdigits[i]=digit_t(carry);
- carry>>=bits_per_digit;
- }
-
- answer._cleanup();
- addend._cleanup();
- answer+=addend;
-
- return answer;
+ integer r;
+ detail::sqr(r, n);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Calculate the value of n<sup>e</sup>
 
+- Complexity: O(n<sub>n</sub><sup>2</sup>n<sub>e</sub>)
+
 \param[in] n, e The integers to operate on.
 
 \returns \c n to the power of \c e.
 */
 integer pow(const integer& n, const integer& e) {
- bool neg=(n.sign() < 0 && e.odd());
-
- size_t length=e._get_length(), lastBitCount=0;
- digit_t ee(e._get_digit(length-1));
- while (ee != 0) { ee >>= 1; ++lastBitCount; }
-
- integer p(abs(n)), answer=integer::one();
- for (size_t eIndex=0; eIndex < length; ++eIndex) {
- digit_t eee(e._get_digit(eIndex));
-
- int bitCount(int(eIndex == length-1 ? lastBitCount : bits_per_digit));
- while (bitCount-- > 0) {
- if (eee & 0x01) answer*=p;
- p=sqr(p);
- eee >>= 1;
- }
- }
-
- answer._set_negative(neg);
- return answer;
+ integer r;
+ detail::pow(r, n, e);
+ return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Calculate the value of \c n!
 
+- Complexity: O(n<sup>3</sup>)
+
 \param[in] n The value to operate on.
 
 \returns \c n factorial, defined as <code>1*2*3*...*n</code>
@@ -145,9 +199,9 @@
 system's memory.
 */
 integer factorial(size_t n) {
- integer r(integer::one());
- while (n > 1) { r *= n--; }
- return r;
+ integer r;
+ detail::factorial(r, n);
+ return BOOST_XINT_MOVE(r);
 }
 
 } // namespace xint

Modified: sandbox/xint/src/primes.cpp
==============================================================================
--- sandbox/xint/src/primes.cpp (original)
+++ sandbox/xint/src/primes.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,8 @@
     \brief Contains the definitions for functions related to prime numbers.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
+#include "../boost/xint/random.hpp"
 
 #include <vector>
 
@@ -28,7 +29,7 @@
     std::vector<int> sieve;
     sieve.reserve(upTo);
 
- // Zero and one aren't prime, by this definition.
+ // Zero and one aren't prime, by definition.
     sieve.push_back(0);
     sieve.push_back(0);
 
@@ -80,6 +81,8 @@
 
 /*! \brief Tests an integer for primality.
 
+- Complexity: Varies
+
 \param[in] n The number to test.
 \param[in] callback An optional function that will be called regularly during
 the operation. If it returns \c false, the function will immediately return.
@@ -117,8 +120,15 @@
     return 1; // Appears to be prime!
 }
 
+//! \copydoc is_prime(const integer&, callback_t)
+int is_prime(const fixed_integer_any& n, callback_t callback) {
+ return is_prime(integer(n), callback);
+}
+
 /*! \brief Generate a randomly-generated prime number of a particular bit-size.
 
+- Complexity: Varies
+
 \param[in] size_in_bits The number of bits that you want the returned value to
 have.
 \param[in] callback An optional function that will be called regularly during
@@ -152,7 +162,7 @@
         while (p < pe) {
             int r=is_prime(p, callback);
             if (r < 0) return integer::zero();
- if (r == 1) return p;
+ if (r == 1) return BOOST_XINT_MOVE(p);
             p+=2;
         }
     }

Modified: sandbox/xint/src/primitives.cpp
==============================================================================
--- sandbox/xint/src/primitives.cpp (original)
+++ sandbox/xint/src/primitives.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,7 +15,7 @@
     \brief Contains the definitions for math primitives.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 #include <cassert>
 
 namespace boost {
@@ -23,134 +23,104 @@
 
 using namespace detail;
 
-/*! \brief Returns the absolute value of an integer.
-
-\param[in] n The integer to operate on.
+namespace detail {
 
-\returns If \c n is zero or positive, returns \c n. Otherwise returns \c -n.
-*/
-integer abs(const integer& n) {
- return (n.sign() < 0 ? -n : n);
-}
+namespace {
+void sub_add(base_integer& target, const base_integer& n1, const base_integer&
+ n2)
+{
+ bool swap(n1._get_length() < n2._get_length());
+ const base_integer &larger(swap ? n2 : n1), &smaller(swap ? n1 : n2);
+
+ // The answer to any addition problem contains, at most, one digit more
+ // than the largest addend.
+ integer a;
+ a._realloc(larger._get_length() + 1);
+
+ // Add the digits, starting at the least-significant digit.
+ const digit_t *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
+ *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
+ digit_t *ap = a._get_writable_digits(), *a_end = ap + a._get_length();
+
+ digit_t carry = 0;
+ while (sp != s_end) {
+ doubledigit_t t = doubledigit_t(*lp++) + *sp++ + carry;
+ if (t >= digit_overflowbit) {
+ carry = 1;
+ *ap++ = static_cast<digit_t>(t - digit_overflowbit);
+ } else {
+ carry = 0;
+ *ap++ = static_cast<digit_t>(t);
+ }
+ }
 
-/*! \brief Return the additive inverse of an integer.
+ if (carry) {
+ while (lp != l_end) {
+ if (*lp == digit_mask) { *ap++ = 0; ++lp; }
+ else { *ap++ = *lp++ + 1; carry = 0; break; }
+ }
+ }
+ if (carry && ap != a_end) *ap++ = 1;
 
-\param[in] n The integer to operate on.
+ while (lp != l_end) *ap++ = *lp++;
+ while (ap != a_end) *ap++ = 0;
 
-\returns \c -n.
-*/
-integer negate(const integer& n) {
- integer nn(n);
- nn._set_negative(!nn._get_negative());
- return nn;
+ if (n1._get_negative()) a._set_negative(true);
+ a._cleanup();
+ target._attach(a);
 }
 
-/*! \brief Calculate the sum of two integers.
-
-\param[in] n1, n2 The integers to add.
-
-\returns The sum of the parameters.
-*/
-integer add(const integer& n1, const integer& n2) {
- int sign1=n1.sign(), sign2=n2.sign();
- if (sign1 != sign2) {
- if (sign1==0) return n2;
- else if (sign2==0) return n1;
- else return subtract(n1, -n2);
- } else {
- bool swap(n1._get_length() < n2._get_length());
- const integer &larger(swap ? n2 : n1), &smaller(swap ? n1 : n2);
-
- integer r;
- r._duplicate(larger, 1);
- r._add(smaller);
- return r;
+void sub_subtract(base_integer& target, const base_integer& n1, const
+ base_integer& n2)
+{
+ bool neg1=n1._get_negative();
+ bool swap=((neg1 ? 1 : -1) == compare(n1, n2));
+ const base_integer &larger(swap ? n2 : n1), &smaller(swap ? n1 : n2);
+
+ // For subtraction, the answer will always be less than or equal to the
+ // size of the longest operand.
+ integer a;
+ a._realloc(larger._get_length());
+
+ // Now subtract the digits, starting at the least-significant one.
+ const digit_t *lp = larger._get_digits(), *l_end = lp + larger._get_length(),
+ *sp = smaller._get_digits(), *s_end = sp + smaller._get_length();
+ digit_t *ap = a._get_writable_digits();
+
+ digit_t borrow = 0;
+ while (sp != s_end) {
+ doubledigit_t t = digit_overflowbit + *lp++ - *sp++ - borrow;
+ if (t < digit_overflowbit) {
+ borrow = 1;
+ *ap++ = static_cast<digit_t>(t);
+ } else {
+ borrow = 0;
+ *ap++ = static_cast<digit_t>(t - digit_overflowbit);
+ }
     }
-}
-
-/*! \brief Calculate the difference between two integers.
-
-\param[in] n1, n2 The integers to operate on.
-
-\returns The difference between the parameters.
-*/
-integer subtract(const integer& n1, const integer& n2) {
- int sign1=n1.sign(), sign2=n2.sign();
- if (sign1 != sign2) {
- if (sign1 == 0) return -n2;
- else if (sign2 == 0) return n1;
- else return add(n1, -n2);
- } else {
- bool swap=(sign1 == (n1 < n2 ? 1 : -1));
- const integer &larger(swap ? n2 : n1), &smaller(swap ? n1 : n2);
 
- integer r;
- r._duplicate(larger, 1);
- r._subtract(smaller);
- return (swap ? -r : r);
+ if (borrow) {
+ while (lp != l_end) {
+ if (*lp == 0) { *ap++ = digit_mask; ++lp; }
+ else { *ap++ = *lp++ - 1; borrow = 0; break; }
+ }
     }
-}
-
-/*! \brief Calculate the product of two integers.
-
-\param[in] n, by The integers to operate on.
-
-\returns The product of the parameters.
-
-\remarks
-Automatically uses the more-efficient squaring algorithm if it can trivially
-detect that the two parameters are copies of the same number.
-*/
-integer multiply(const integer& n, const integer& by) {
- int nsign=n.sign(), bysign=by.sign();
- if (nsign==0 || bysign==0) return integer::zero();
-
- const digit_t *ndigits=n._get_digits(), *bydigits=by._get_digits();
- if (ndigits==bydigits) return sqr(n);
- size_t nlen=n._get_length(), bylen=by._get_length();
-
- // In multiplication, we know that the answer will be less than or equal to
- // the sum of the lengths of the operands.
- integer answer;
- answer._realloc(nlen + bylen);
- digit_t *adigits=answer._get_digits();
-
- // Now multiply the digits, starting at the least-significant digit.
- const digit_t *d1 = ndigits, *d1e = d1 + nlen;
- const digit_t *d2e = bydigits + bylen;
- for (int digit1=0; d1<d1e; ++digit1, ++d1) {
- const digit_t *d2=bydigits;
- for (int digit2=0; d2<d2e; ++digit2, ++d2) {
- // First multiply the two digits
- doubledigit_t t=doubledigit_t(*d1) * *d2;
-
- // Now add the result to the answer.
- int carry=0;
- digit_t *a = adigits + digit1 + digit2;
- doubledigit_t addt=doubledigit_t(*a) + (t & digit_mask);
- if (addt >= digit_overflowbit) carry=1;
- *a++=static_cast<digit_t>(addt);
+ while (lp != l_end) *ap++ = *lp++;
+ if (borrow != 0) swap = !swap;
 
- addt=*a + ((t >> bits_per_digit) & digit_mask) + carry;
- if (addt >= digit_overflowbit) carry=1; else carry=0;
- *a++=static_cast<digit_t>(addt);
+ if (neg1) a._set_negative(true);
+ a._cleanup();
 
- while (carry) {
- addt=*a+1;
- *a++ = static_cast<digit_t>(addt);
- if (addt < digit_overflowbit) break;
- }
- }
+ if (swap) {
+ target._attach(neg_t(a));
+ } else {
+ target._attach(a);
     }
-
- answer._set_negative(nsign != bysign);
- answer._cleanup();
- return answer;
 }
 
-namespace {
-
-std::pair<integer, integer> divideBySingleDigit(const integer& d1, digit_t d2) {
+void divide_by_single_digit(base_integer& qtarget, base_integer& rtarget, const
+ base_integer& d1, digit_t d2)
+{
     size_t d1len=d1._get_length();
     const digit_t *d1digits=d1._get_digits();
 
@@ -164,47 +134,41 @@
 
     int m = int(d1len) - 1;
     const digit_t *d1p=d1digits+m;
- digit_t *qp=quotient._get_digits()+m;
+ digit_t *qp=quotient._get_writable_digits()+m;
     for (int i = m; i >= 0; --i, --d1p, --qp) {
         a = (a & ~lomask) | *d1p;
         *qp = static_cast<digit_t>(a / d2);
         a = (a & ~himask) | ((a % d2) << bits_per_digit);
     }
- remainder._get_digits()[0] = static_cast<digit_t>((a & himask) >>
+ remainder._get_writable_digits()[0] = static_cast<digit_t>((a & himask) >>
         bits_per_digit);
 
     quotient._cleanup();
     remainder._cleanup();
- return std::make_pair(quotient, remainder);
+ qtarget._attach(quotient);
+ rtarget._attach(remainder);
 }
 
-std::pair<integer, integer> subDivide(integer d1, integer d2) {
- const digit_t *byDigits = d2._get_digits();
-
- // The normalization step
- digit_t d = static_cast<digit_t>(digit_overflowbit /
- (doubledigit_t(byDigits[d2._get_length()-1])+1));
- if (d > 1) {
- d1 *= d;
- d2 *= d;
-
- // Gotta reset this
- byDigits = d2._get_digits();
- }
+void sub_divide2(base_integer& qtarget, base_integer& rtarget, const
+ base_integer& d1, const base_integer& d2)
+{
     assert(d2._get_digit(d2._get_length()-1) >= digit_overflowbit / 2);
 
- integer quotient, r(d1);
+ const digit_t *byDigits = d2._get_digits();
+
+ integer quotient, r(d1._to_integer());
 
     size_t n=d2._get_length(), m=d1._get_length() - n;
     size_t i=m+n, j=m;
     quotient._realloc(j+1);
- digit_t *qdigits=quotient._get_digits();
+ digit_t *qdigits=quotient._get_writable_digits();
 
     r._make_unique();
     do {
         doubledigit_t ri=(doubledigit_t(r._get_digit(i, true))
             << bits_per_digit) + r._get_digit(i-1, true);
- doubledigit_t q=(std::min<doubledigit_t>)(ri / byDigits[n-1], digit_mask);
+ doubledigit_t q=(std::min<doubledigit_t>)(ri / byDigits[n-1],
+ digit_mask);
 
         while (1) {
             // We need three digits here, a doubledigit_t won't suffice.
@@ -214,12 +178,16 @@
             --q;
         }
 
- integer bq=d2*q;
- if (r < bq) { --q; bq -= d2; }
+ integer bq;
+ multiply(bq, d2, fixed_integer_any(q));
+ if (r < bq) {
+ --q;
+ subtract(bq, temp_t(bq), d2);
+ }
 
         integer rtemp((r >> (bits_per_digit * (i-n))) - bq);
 
- digit_t *rdigits=r._get_digits();
+ digit_t *rdigits=r._get_writable_digits();
 
         size_t rlen=r._get_length();
         for (size_t x=0; x<=n && i-n+x < rlen; ++x)
@@ -231,19 +199,251 @@
 
     quotient._cleanup();
 
- if (d > 1) {
+ qtarget._attach(quotient);
+ rtarget._attach(r);
+}
+
+void sub_divide(base_integer& qtarget, base_integer& rtarget, const
+ base_integer& d1, const base_integer& d2)
+{
+ if (d2._get_length()==1) {
+ divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
+ return;
+ }
+
+ // The normalization step
+ digit_t _d = static_cast<digit_t>(digit_overflowbit /
+ (doubledigit_t(d2._get_digit(d2._get_length()-1))+1));
+ if (_d > 1) {
+ fixed_integer_any d(_d);
+
+ integer dd1, dd2;
+ multiply(dd1, d1, d);
+ multiply(dd2, d2, d);
+
+ integer q, r;
+ sub_divide2(q, r, dd1, dd2);
+
         // Denormalization step. This requires a division by a single digit_t.
- integer remainder=divideBySingleDigit(r, d).first;
- return std::make_pair(quotient, remainder);
+ integer qq, rr;
+ divide_by_single_digit(qq, rr, r, _d);
+ qtarget._attach(q);
+ rtarget._attach(qq);
     } else {
- return std::make_pair(quotient, r);
+ sub_divide2(qtarget, rtarget, d1, d2);
     }
 }
 
 } // namespace
 
+void add(base_integer& target, const base_integer& n1, const base_integer& n2) {
+ if (n1._is_zero()) {
+ target._attach(n2);
+ return;
+ } else if (n2._is_zero()) {
+ target._attach(n1);
+ return;
+ } else if (n1._get_negative() != n2._get_negative()) {
+ sub_subtract(target, n1, neg_t(n2));
+ } else {
+ sub_add(target, n1, n2);
+ }
+}
+
+void subtract(base_integer& target, const base_integer& n1, const base_integer&
+ n2)
+{
+ if (n1._is_zero()) {
+ target._attach(neg_t(n2));
+ } else if (n2._is_zero()) {
+ target._attach(n1);
+ } else if (n1._get_negative() != n2._get_negative()) {
+ sub_add(target, n1, neg_t(n2));
+ } else {
+ sub_subtract(target, n1, n2);
+ }
+}
+
+void multiply(base_integer& target, const base_integer& n, const base_integer&
+ by)
+{
+ if (n._is_zero() || by._is_zero()) {
+ target._set_unsigned(0);
+ return;
+ }
+
+ const digit_t *ndigits=n._get_digits(), *bydigits=by._get_digits();
+ if (ndigits==bydigits) {
+ sqr(target, n);
+ if (n._get_negative() != by._get_negative()) target._set_negative(true);
+ return;
+ }
+
+ size_t maxdigit = target._is_fixed()
+ ? target._fixed_digits()
+ : (std::numeric_limits<size_t>::max)();
+ size_t nlen=n._get_length(), bylen=by._get_length();
+
+ // In multiplication, we know that the answer will be less than or equal to
+ // the sum of the lengths of the operands.
+ integer answer;
+ answer._realloc(nlen + bylen);
+ digit_t *adigits=answer._get_writable_digits(), *ae = adigits +
+ (std::min)(nlen + bylen, maxdigit);
+
+ // Now multiply the digits, starting at the least-significant digit.
+ const digit_t *d1 = ndigits, *d1e = d1 + (std::min)(nlen, maxdigit);
+ for (int digit1 = 0; d1 < d1e; ++digit1, ++d1) {
+ const digit_t *d2 = bydigits;
+ const digit_t *d2e = d2 + (std::min)(bylen, maxdigit - digit1);
+ for (int digit2 = 0; d2 < d2e; ++digit2, ++d2) {
+ // First multiply the two digits
+ doubledigit_t t=doubledigit_t(*d1) * *d2;
+
+ // Now add the result to the answer.
+ int carry=0;
+ digit_t *a = adigits + digit1 + digit2;
+ doubledigit_t addt=doubledigit_t(*a) + (t & digit_mask);
+ if (addt >= digit_overflowbit) carry=1;
+ *a++=static_cast<digit_t>(addt);
+
+ addt=*a + ((t >> bits_per_digit) & digit_mask) + carry;
+ if (addt >= digit_overflowbit) carry=1; else carry=0;
+ *a++=static_cast<digit_t>(addt);
+
+ while (carry && a < ae) {
+ addt=*a+1;
+ *a++ = static_cast<digit_t>(addt);
+ if (addt < digit_overflowbit) break;
+ }
+ }
+ }
+
+ answer._set_negative(n._get_negative() != by._get_negative());
+ answer._cleanup();
+ target._attach(answer);
+}
+
+void divide(base_integer& qtarget, base_integer& rtarget, const base_integer&
+ d1, const base_integer& d2)
+{
+ int sign1 = (d1._is_zero() ? 0 : d1._get_negative() ? -1 : 1);
+ int sign2 = (d2._is_zero() ? 0 : d2._get_negative() ? -1 : 1);
+ if (sign2 == 0) throw exceptions::divide_by_zero();
+
+ int comp=compare(d1, d2, true);
+ if (comp < 0) {
+ qtarget._attach(integer::zero());
+ rtarget._attach(d1);
+ } else if (comp == 0) {
+ qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1));
+ rtarget._attach(integer::zero());
+ } else if (sign1 < 0 && sign2 < 0) {
+ sub_divide(qtarget, rtarget, neg_t(d1), neg_t(d2));
+ rtarget._set_negative(true);
+ } else if (sign1 < 0) {
+ sub_divide(qtarget, rtarget, neg_t(d1), d2);
+ qtarget._set_negative(true);
+ rtarget._set_negative(true);
+ } else if (sign2 < 0) {
+ sub_divide(qtarget, rtarget, d1, neg_t(d2));
+ qtarget._set_negative(true);
+ } else if (d2._get_length() == 1) {
+ divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
+ } else {
+ sub_divide(qtarget, rtarget, d1, d2);
+ }
+}
+
+void divide(base_integer& target, const base_integer& n1, const base_integer&
+ n2)
+{
+ integer remainder;
+ divide(target, remainder, n1, n2);
+}
+
+} // namespace detail
+
+/*! \brief Returns the absolute value of an integer.
+
+- Complexity: O(1)
+
+\param[in] n The integer to operate on.
+
+\returns If \c n is zero or positive, returns \c n. Otherwise returns \c -n.
+*/
+integer abs(const integer& n) {
+ if (n._get_negative()) {
+ return -n;
+ } else {
+ return n;
+ }
+}
+
+/*! \brief Return the additive inverse of an integer.
+
+- Complexity: O(1)
+
+\param[in] n The integer to operate on.
+
+\returns \c -n.
+*/
+integer negate(const integer& n) {
+ integer nn(n);
+ nn._toggle_negative();
+ return BOOST_XINT_MOVE(nn);
+}
+
+/*! \brief Calculate the sum of two integers.
+
+- Complexity: O(n)
+
+\param[in] n1, n2 The integers to add.
+
+\returns The sum of the parameters.
+*/
+integer add(const integer& n1, const integer& n2) {
+ integer r;
+ detail::add(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+/*! \brief Calculate the difference between two integers.
+
+- Complexity: O(n)
+
+\param[in] n1, n2 The integers to operate on.
+
+\returns The difference between the parameters.
+*/
+integer subtract(const integer& n1, const integer& n2) {
+ integer r;
+ detail::subtract(r, n1, n2);
+ return BOOST_XINT_MOVE(r);
+}
+
+/*! \brief Calculate the product of two integers.
+
+- Complexity: O(n<sup>2</sup>)
+
+\param[in] n, by The integers to operate on.
+
+\returns The product of the parameters.
+
+\remarks
+Automatically uses the more-efficient squaring algorithm if it can trivially
+detect that the two parameters are copies of the same number.
+*/
+integer multiply(const integer& n, const integer& by) {
+ integer r;
+ detail::multiply(r, n, by);
+ return BOOST_XINT_MOVE(r);
+}
+
 /*! \brief Calculate how many \c dividends would fit into \c divisor.
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] dividend, divisor The integers to operate on.
 
 \returns The integer value of \c dividend divided by \c divisor.
@@ -251,52 +451,29 @@
 \exception exceptions::divide_by_zero if \c divisor is zero.
 */
 integer divide(const integer& dividend, const integer& divisor) {
- return divide_r(dividend, divisor).first;
+ integer q, r;
+ detail::divide(q, r, dividend, divisor);
+ return BOOST_XINT_MOVE(q);
 }
 
 /*! \brief Calculate how many \c dividends would fit into \c divisor, with the
            remainder.
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] d1 The dividend.
 \param[in] d2 The divisor.
 
-\returns An \c std::pair containing the quotient and remainder of \c d1 divided
-by \c d2.
+\returns A \c divide_t class containing the quotient and remainder of \c d1
+divided by \c d2.
 
 \exception exceptions::divide_by_zero if \c d2 is zero.
 */
-std::pair<integer, integer> divide_r(const integer& d1, const integer& d2) {
- int sign1=d1.sign(), sign2=d2.sign();
- if (sign2==0) throw exceptions::divide_by_zero();
-
- int comp=compare(d1, d2, true);
- if (comp<0) {
- return std::make_pair(integer::zero(), d1);
- } else if (comp==0) {
- return std::make_pair(sign1 != sign2 ? integer::one() : integer(-1),
- integer::zero());
- }
-
- if (sign1 < 0 && sign2 < 0) {
- std::pair<integer, integer> a=subDivide(-d1, -d2);
- a.second._set_negative(true);
- return a;
- } else if (sign1 < 0) {
- std::pair<integer, integer> a=subDivide(-d1, d2);
- a.first._set_negative(true);
- a.second._set_negative(true);
- return a;
- } else if (sign2 < 0) {
- std::pair<integer, integer> a=subDivide(d1, -d2);
- a.first._set_negative(true);
- return a;
- };
-
- if (d2._get_length() == 1) {
- return divideBySingleDigit(d1, d2._get_digit(0));
- } else {
- return subDivide(d1, d2);
- }
+integer::divide_t divide_r(const integer& d1, const integer& d2) {
+ integer q, r;
+ detail::divide(q, r, d1, d2);
+ return BOOST_XINT_FORWARD(integer::divide_t, integer::divide_t(
+ BOOST_XINT_MOVE(q), BOOST_XINT_MOVE(r)));
 }
 
 } // namespace xint

Modified: sandbox/xint/src/random.cpp
==============================================================================
--- sandbox/xint/src/random.cpp (original)
+++ sandbox/xint/src/random.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -24,14 +24,13 @@
 
 #include "../boost/xint/integer.hpp"
 #include "../boost/xint/random.hpp"
-#include "../boost/xint/exceptions.hpp"
 #include <vector>
 #include <sstream>
 #include <fstream>
 #include <ctime>
 #include <memory> // for auto_ptr
 #include <boost/random/mersenne_twister.hpp>
-#include <boost/static_assert.hpp> //! \todo Move to random.cpp?
+#include <boost/static_assert.hpp>
 
 #ifdef XINT_THREADSAFE
     #include <boost/thread.hpp>
@@ -58,7 +57,15 @@
 
     result_type operator()() { return mGeneratorObj->operator()(); }
 
- static void set_generator(base_random_generator *p) { mGeneratorObj.reset(p); }
+ static void set_generator(base_random_generator *p) {
+ #ifdef XINT_THREADSAFE
+ mLock.lock();
+ mGeneratorObj.reset(p);
+ mLock.unlock();
+ #else
+ mGeneratorObj.reset(p);
+ #endif
+ }
 
     private:
     void init() {
@@ -188,6 +195,8 @@
 
 /*! \brief Generates a random integer with specific attributes.
 
+- Complexity: O(n)
+
 \param[in] bits The maximum number of bits that you want the returned number to
 have.
 \param[in] high_bit_on If \c true, the returned number will have exactly the
@@ -211,31 +220,32 @@
 {
     if (bits<=0) return integer::zero();
 
+ // Grab a bunch of bits
     generator_t randomGenerator;
- const size_t cBitsPerIteration=std::numeric_limits<generator_t::result_type>::digits;
-
- // Grab a set of random bits, of at least the specified size
- size_t iterations = (bits+cBitsPerIteration-1) / cBitsPerIteration;
- std::vector<generator_t::result_type> v;
- for (size_t i=0; i<iterations; ++i) v.push_back(randomGenerator());
-
- const char *vptr=(const char *)&v[0], *vptr_end=vptr+(v.size() * sizeof(generator_t::result_type));
- integer p=from_binary(std::string(vptr, vptr_end));
+ bitqueue_t bitqueue;
+ while (bitqueue.size() < bits) bitqueue.push(randomGenerator(),
+ std::numeric_limits<generator_t::result_type>::digits);
+
+ // Stick them into an integer
+ integer p;
+ p._realloc((bits + bits_per_digit - 1) / bits_per_digit);
+ digit_t *pp = p._get_writable_digits(), *ppe = pp + p._get_length();
+ while (pp < ppe) *pp++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 
     // Trim it to the proper length
     size_t index=(bits/bits_per_digit);
     digit_t mask=(digit_t(1) << (bits % bits_per_digit))-1;
     if (mask==0) { mask=digit_mask; --index; }
- p._get_digits()[index] &= mask;
- for (digit_t *i=p._get_digits()+index+1,
- *ie=p._get_digits()+p._get_length(); i<ie; ++i) *i=0;
+ p._get_writable_digits()[index] &= mask;
+ for (digit_t *i=p._get_writable_digits()+index+1,
+ *ie=p._get_writable_digits()+p._get_length(); i<ie; ++i) *i=0;
     p._cleanup();
 
     if (high_bit_on) setbit(p, bits-1);
     if (low_bit_on) setbit(p, 0);
     if (can_be_negative) p._set_negative(randomGenerator() & 0x01);
 
- return p;
+ return BOOST_XINT_MOVE(p);
 }
 
 } // namespace xint

Modified: sandbox/xint/src/roots.cpp
==============================================================================
--- sandbox/xint/src/roots.cpp (original)
+++ sandbox/xint/src/roots.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -15,13 +15,49 @@
     \brief Contains the definitions for functions related to roots of a number.
 */
 
-#include "../boost/xint/xint.hpp"
+#include "../boost/xint/integer.hpp"
 
 namespace boost {
 namespace xint {
 
+namespace detail {
+
+void sqrt(base_integer& target, const base_integer& nn) {
+ if (nn._is_zero()) { target._attach(nn); return; }
+ if (nn._get_negative()) throw exceptions::cannot_represent("library cannot "
+ "represent imaginary values (tried to take sqrt of negative number)");
+
+ // A naive implementation using pure integers can result in an endless loop,
+ // cycling between two numbers that are approximately correct (try
+ // sqrt(23)). To deal with that, we multiply everything by an even power of
+ // two.
+ const size_t extra_bits = 1;
+
+ integer n(nn._to_integer());
+ n <<= (extra_bits * 2);
+
+ // Initial guess is half the length of n, in bits
+ integer guess;
+ setbit(guess, n._log2()/2);
+
+ // Now refine it until we're as close as we can get.
+ while (1) {
+ integer guess2=(guess + (n / guess)) >> 1;
+ if ((guess >> extra_bits) == (guess2 >> extra_bits)) break;
+ guess = guess2;
+ }
+
+ // Remove half of the added bits.
+ guess >>= extra_bits;
+ target._attach(guess);
+}
+
+} // namespace detail
+
 /*! \brief Calculate the square root of \c an integer.
 
+- Complexity: O(n<sup>2</sup>)
+
 \param[in] n The value to operate on.
 
 \returns The largest integer that, when squared, is less than or equal to \c n.
@@ -31,22 +67,9 @@
 \exception exceptions::cannot_represent if \c n is negative.
 */
 integer sqrt(const integer& n) {
- if (n.sign() < 0) throw exceptions::cannot_represent("library cannot "
- "represent imaginary values (tried to take sqrt of negative number)");
- if (n.sign() == 0) return integer::zero();
-
- // Initial guess is half the length of n, in bits
- integer guess;
- setbit(guess, log2(n)/2);
-
- // Now refine it until we're as close as integers can get
- while (1) {
- integer guess2=(guess + (n/guess)) >> 1;
- if (guess == guess2) break;
- guess=guess2;
- }
-
- return guess;
+ integer r;
+ detail::sqrt(r, n);
+ return BOOST_XINT_MOVE(r);
 }
 
 } // namespace xint

Modified: sandbox/xint/test/Jamroot
==============================================================================
--- sandbox/xint/test/Jamroot (original)
+++ sandbox/xint/test/Jamroot 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -7,6 +7,8 @@
                 # Source code files
                 test_main.cpp test_streams.cpp test_add.cpp test_bit_manipulations.cpp
                 test_convert.cpp test_divide.cpp test_multiply.cpp test_monty.cpp
+ test_compare.cpp test_fixed.cpp test_powers.cpp test_modular.cpp
+ test_misc.cpp
 
                 # Boost libraries
                 boost_xint

Modified: sandbox/xint/test/test_add.cpp
==============================================================================
--- sandbox/xint/test/test_add.cpp (original)
+++ sandbox/xint/test/test_add.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -11,7 +11,8 @@
     This file contains the tests for the addition and subtraction functions.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
@@ -101,5 +102,48 @@
     BOOST_CHECK_EQUAL(a.sign(true), -1);
 }
 
+BOOST_AUTO_TEST_CASE(testIncrementVariable) {
+ integer one(1), zero(0), negative_one(-1);
+ BOOST_CHECK_EQUAL(++one, 2);
+ BOOST_CHECK_EQUAL(++zero, 1);
+ BOOST_CHECK_EQUAL(++negative_one, 0);
+
+ integer max1(detail::digit_mask);
+ BOOST_CHECK_EQUAL(++max1, detail::digit_overflowbit);
+}
+
+BOOST_AUTO_TEST_CASE(testIncrementFixed) {
+ fixed_integer<detail::bits_per_digit> one(1), zero(0), negative_one(-1);
+ BOOST_CHECK_EQUAL(++one, 2);
+ BOOST_CHECK_EQUAL(++zero, 1);
+ BOOST_CHECK_EQUAL(++negative_one, 0);
+
+ fixed_integer<detail::bits_per_digit> max1(detail::digit_mask);
+ BOOST_CHECK_EQUAL(++max1, 0);
+}
+
+BOOST_AUTO_TEST_CASE(testDecrementVariable) {
+ integer one(1), zero(0), negative_one(-1);
+ BOOST_CHECK_EQUAL(--one, 0);
+ BOOST_CHECK_EQUAL(--zero, -1);
+ BOOST_CHECK_EQUAL(--negative_one, -2);
+
+ integer min1(detail::digit_mask), expected(detail::digit_overflowbit);
+ min1._set_negative(true);
+ expected._set_negative(true);
+ BOOST_CHECK_EQUAL(--min1, expected);
+}
+
+BOOST_AUTO_TEST_CASE(testDecrementFixed) {
+ fixed_integer<detail::bits_per_digit> one(1), zero(0), negative_one(-1);
+ BOOST_CHECK_EQUAL(--one, 0);
+ BOOST_CHECK_EQUAL(--zero, -1);
+ BOOST_CHECK_EQUAL(--negative_one, -2);
+
+ fixed_integer<detail::bits_per_digit> min1(detail::digit_mask);
+ min1._set_negative(true);
+ BOOST_CHECK_EQUAL(--min1, 0);
+}
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/test/test_bit_manipulations.cpp
==============================================================================
--- sandbox/xint/test/test_bit_manipulations.cpp (original)
+++ sandbox/xint/test/test_bit_manipulations.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -11,7 +11,8 @@
     This file contains the functions that test the low-level bit manipulations.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
@@ -24,89 +25,125 @@
 
 using std::hex;
 
-BOOST_AUTO_TEST_CASE(testBitManipulations) {
+BOOST_AUTO_TEST_CASE(test_unfixed_bit_shifting) {
     const std::string nSrc="1a2b3c4d5e6f7f6e5d4c3b2a1a2b3c4d5e6f7f6e5d4c3b2a1";
     integer n(nSrc, 16), n2;
 
     // If this fails, abort the rest of the test.
- if (to_string(n, 16) != nSrc) BOOST_FAIL("failure in reading string, can't test");
+ if (to_string(n, 16) != nSrc) BOOST_FAIL("failure in reading string, can't "
+ "test");
+
+ // Null-shifting
+
+ BOOST_CHECK_EQUAL(n >> 0, n);
+ BOOST_CHECK_EQUAL(n << 0, n);
 
     // Bits only
 
     n2 = n << 4;
- if (to_string(n2, 16) != nSrc+'0') {
- std::ostringstream out;
- out << "testBitManipulations: << 4 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc+'0');
 
     n2 >>= 4;
- if (n2 != n) {
- std::ostringstream out;
- out << "testBitManipulations: >>= 4 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(n2, n);
 
     // Digits only
 
     const int cDigitsPerDigit=(detail::bits_per_digit / 4);
     n2 <<= detail::bits_per_digit;
- if (to_string(n2, 16) != nSrc + std::string(cDigitsPerDigit, '0')) {
- std::ostringstream out;
- out << "testBitManipulations: <<= BpD failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc + std::string(cDigitsPerDigit, '0'));
 
     n2 >>= detail::bits_per_digit;
- if (n2 != n) {
- std::ostringstream out;
- out << "testBitManipulations: >>= BpD failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(n2, n);
 
     // Bits and digits simultaaneously
 
     const int bits_per_digit2=(detail::bits_per_digit + detail::bits_per_digit/2);
     const int cDigitsPerDigit2=(bits_per_digit2 / 4);
     n2 <<= bits_per_digit2;
- if (to_string(n2, 16) != nSrc + std::string(cDigitsPerDigit2, '0')) {
- std::ostringstream out;
- out << "testBitManipulations: <<= BpD2 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc + std::string(cDigitsPerDigit2, '0'));
 
     n2 >>= bits_per_digit2;
- if (n2 != n) {
- std::ostringstream out;
- out << "testBitManipulations: >>= BpD2 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(n2, n);
 
     // Right-shift to oblivion
 
     n2 >>= (detail::bits_per_digit * n2._get_length());
- if (n2.sign()!=0) {
- std::ostringstream out;
- out << "testBitManipulations: >>= inf failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(n2.sign(), 0);
 
     // Single-digit by bits
 
- n=n2=0xEF;
+ n = n2 = 0xEF;
     n2 <<= 4;
- if (to_string(n2, 16) != "ef0") {
- std::ostringstream out;
- out << "testBitManipulations: single <<= 4 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(to_string(n2, 16), "ef0");
+
+ n2 >>= 4;
+ BOOST_CHECK_EQUAL(n2, n);
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_bit_shifting) {
+ const std::string nSrc="1a2b3c4d5e6f7f6e5d4c3b2a1";
+ fixed_integer<100> n(nSrc, 16), n2;
+
+ // If this fails, abort the rest of the test.
+ if (to_string(n, 16) != nSrc) BOOST_FAIL("failure in reading string, can't "
+ "test");
+
+ BOOST_MESSAGE("** Null-shifting");
+
+ BOOST_CHECK_EQUAL(n >> 0, n);
+ BOOST_CHECK_EQUAL(n << 0, n);
+
+ BOOST_MESSAGE("** Bits only");
+
+ n2 = n << 4;
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(1)+'0');
 
     n2 >>= 4;
- if (n2 != n) {
- std::ostringstream out;
- out << "testBitManipulations: single >>= 4 failure, " << hex << n2;
- BOOST_ERROR(out.str());
- }
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(1));
+
+ BOOST_MESSAGE("** Digits only");
+
+ const int cDigitsPerDigit=(detail::bits_per_digit / 4);
+ n2 <<= detail::bits_per_digit;
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(cDigitsPerDigit) +
+ std::string(cDigitsPerDigit, '0'));
+
+ n2 >>= detail::bits_per_digit;
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(cDigitsPerDigit));
+
+ n2 = n >> detail::bits_per_digit;
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(0, nSrc.length() -
+ cDigitsPerDigit));
+
+ BOOST_MESSAGE("** Bits & digits both");
+
+ n2 = n << (detail::bits_per_digit + 4);
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(cDigitsPerDigit + 1) +
+ std::string(cDigitsPerDigit + 1, '0'));
+
+ n2 = n >> (detail::bits_per_digit + 4);
+ BOOST_CHECK_EQUAL(to_string(n2, 16), nSrc.substr(0, nSrc.length() -
+ cDigitsPerDigit -1));
+
+ BOOST_MESSAGE("** Left-shift to oblivion");
+
+ n2 <<= 100;
+ BOOST_CHECK_EQUAL(to_string(n2, 16), "0");
+}
+
+BOOST_AUTO_TEST_CASE(test_bitwise_operations) {
+ // These numbers look like mirror images, but they're deliberately not.
+ integer n("0123456789abcdefedcba9876543210", 16),
+ m("fedcba98765432100123456789abcdef", 16);
+
+ BOOST_CHECK_EQUAL(m | n, integer("FEDEBEDE7EDEBEDEFFFFFFFFFFFFFFFF", 16));
+ BOOST_CHECK_EQUAL(m ^ n, integer("FECE8ECE0ECE8ECEFFFFFFFFFFFFFFFF", 16));
+ BOOST_CHECK_EQUAL(m & n, integer("103010701030100000000000000000", 16));
+
+ fixed_integer<12> nn(0xABC), mm(0x123);
+ BOOST_CHECK_EQUAL(mm | nn, 0xBBF);
+ BOOST_CHECK_EQUAL(mm ^ nn, 0xB9F);
+ BOOST_CHECK_EQUAL(mm & nn, 0x20);
 }
 
 } // namespace xint

Added: sandbox/xint/test/test_compare.cpp
==============================================================================
--- (empty file)
+++ sandbox/xint/test/test_compare.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,72 @@
+
+/*
+ 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 tests for the comparison functions.
+*/
+
+#include <boost/xint/integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
+
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
+
+namespace boost {
+namespace xint {
+
+BOOST_AUTO_TEST_CASE(test_compare_zero) {
+ integer zero(0), one(1), negative_one(-1);
+ BOOST_CHECK_EQUAL(zero, zero);
+ BOOST_CHECK_LT(zero, one);
+ BOOST_CHECK_GT(zero, negative_one);
+ BOOST_CHECK_GT(one, zero);
+ BOOST_CHECK_LT(negative_one, zero);
+}
+
+BOOST_AUTO_TEST_CASE(test_compare_negatives) {
+ integer i1("-0x12345678901234567890", autobase),
+ i2("-0x23456789012345678901", autobase);
+ BOOST_CHECK_GT(i1, i2);
+ BOOST_CHECK_LT(i2, i1);
+}
+
+BOOST_AUTO_TEST_CASE(test_compare_positives) {
+ integer i1("0x12345678901234567890", autobase),
+ i2("0x12345678901234567891", autobase),
+ i3(1);
+ BOOST_CHECK_LT(i1, i2);
+ BOOST_CHECK_GT(i1, i3);
+}
+
+BOOST_AUTO_TEST_CASE(test_compare_mixed_signs) {
+ integer i1("-0x12345678901234567890", autobase),
+ i2("0x12345678901234567890", autobase);
+ BOOST_CHECK_LT(i1, i2);
+}
+
+BOOST_AUTO_TEST_CASE(test_compare_fixed_overflow) {
+ BOOST_CHECK_LT(fixed_integer<8>(255), 256);
+ BOOST_CHECK_GT(fixed_integer<8>(-255), -256);
+ BOOST_CHECK_GT(256, fixed_integer<8>(255));
+ BOOST_CHECK_LT(-256, fixed_integer<8>(-255));
+}
+
+BOOST_AUTO_TEST_CASE(test_compare_fixed_different_sizes) {
+ fixed_integer<12> i1(0x890);
+ fixed_integer<8> i2(0xA0);
+ BOOST_CHECK_GT(i1, i2);
+}
+
+} // namespace xint
+} // namespace boost
+

Modified: sandbox/xint/test/test_convert.cpp
==============================================================================
--- sandbox/xint/test/test_convert.cpp (original)
+++ sandbox/xint/test/test_convert.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -11,7 +11,9 @@
     This file contains the tests for the conversion functions.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/nothrow_integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
@@ -27,7 +29,7 @@
 namespace boost {
 namespace xint {
 
-BOOST_AUTO_TEST_CASE(testConvert) {
+BOOST_AUTO_TEST_CASE(test_string_conversions) {
     // Come up with a sufficiently complex number to test with. It must be
     // greater than one digit's worth of data, and have at least one leading
     // zero in base 16.
@@ -39,7 +41,8 @@
 
     // Make sure that the number is greater than one digit's worth of data, and
     // that it has at least one leading zero in base 16.
- detail::digit_t mask=(detail::doubledigit_t(0x0F) << (detail::bits_per_digit - 4));
+ detail::digit_t mask=(detail::doubledigit_t(0x0F) << (detail::bits_per_digit
+ - 4));
     BOOST_REQUIRE_GT(n._get_length(), size_t(1));
     BOOST_REQUIRE_EQUAL(n._get_digit(n._get_length()-1) & mask, 0);
 
@@ -81,17 +84,93 @@
     boost::int32_t nTgt = to<boost::int32_t>(n);
     BOOST_CHECK_EQUAL(nTgt, nSrc);
 
+ BOOST_CHECK_NO_THROW(nothrow_integer badConversion("abcdefg", 16));
+
     {
- BOOST_CHECK_NO_THROW(nothrow_integer badConversion("abcdefg", 16));
+ nothrow_integer test1 = nothrow_integer::nan();
+ std::ostringstream outstream;
+ outstream << test1;
+ BOOST_CHECK_EQUAL(outstream.str(), detail::nan_text);
+
+ std::istringstream instream;
+ instream.str(outstream.str());
+ nothrow_integer test2;
+ instream >> test2;
+ BOOST_CHECK(test2.is_nan());
+ }
+}
+
+BOOST_AUTO_TEST_CASE(test_binary_conversions) {
+ integer test(0x12345678);
+ binary_t testbin = to_binary(test, 4);
+ int x = 8;
+ for (binary_t::iterator i = testbin.begin(), ie = testbin.end(); i != ie;
+ ++i) BOOST_CHECK_EQUAL(*i, x--);
+ BOOST_CHECK_EQUAL(x, 0);
+ integer test2 = from_binary(testbin, 4);
+ BOOST_CHECK_EQUAL(test, test2);
+
+ integer n1("3856431dee2035bc3e0e41328688527f70b1", 16);
+ binary_t nbin = to_binary(n1);
+ BOOST_CHECK_EQUAL(nbin[0], 0xb1);
+ integer n2 = from_binary(nbin);
+ BOOST_CHECK_EQUAL(n1, n2);
+
+ fixed_integer<8> n3 = fixed_from_binary<8>(nbin);
+ BOOST_CHECK_EQUAL(n3, 0xb1);
+
+ nbin = to_binary(n1, 5);
+ n2 = from_binary(nbin, 5);
+ BOOST_CHECK_EQUAL(n1, n2);
+
+ BOOST_CHECK_THROW(from_binary(nbin, std::numeric_limits<unsigned char>::
+ digits + 1), exceptions::invalid_argument);
+ BOOST_CHECK_THROW(to_binary(n1, std::numeric_limits<unsigned char>::
+ digits + 1), exceptions::invalid_argument);
+}
+
+BOOST_AUTO_TEST_CASE(test_to) {
+ {
+ typedef int T;
+ T t = 1;
+ integer n = (std::numeric_limits<T>::max)();
+ BOOST_CHECK_NO_THROW(t = to<T>(n));
+ BOOST_CHECK_EQUAL(t, (std::numeric_limits<T>::max)());
+ ++n;
+ BOOST_CHECK_THROW(t = to<T>(n), exceptions::too_big);
+
+ n = (std::numeric_limits<T>::min)();
+ BOOST_CHECK_NO_THROW(t = to<T>(n));
+ BOOST_CHECK_EQUAL(t, (std::numeric_limits<T>::min)());
+ --n;
+ BOOST_CHECK_THROW(t = to<T>(n), exceptions::too_big);
     }
 
     {
- integer n1("8688527F70B1", 16);
- std::string nbin=to_binary(n1);
- integer n2=from_binary(nbin);
- BOOST_CHECK_EQUAL(n1, n2);
+ typedef unsigned int T;
+ T t = 1;
+ integer n = (std::numeric_limits<T>::max)();
+ BOOST_CHECK_NO_THROW(t = to<T>(n));
+ BOOST_CHECK_EQUAL(t, (std::numeric_limits<T>::max)());
+ ++n;
+ BOOST_CHECK_THROW(t = to<T>(n), exceptions::too_big);
+
+ n = (std::numeric_limits<T>::min)();
+ BOOST_CHECK_NO_THROW(t = to<T>(n));
+ BOOST_CHECK_EQUAL(t, (std::numeric_limits<T>::min)());
+ --n;
+ BOOST_CHECK_THROW(t = to<T>(n), exceptions::too_big);
     }
 }
 
+BOOST_AUTO_TEST_CASE(test_copy_nan) {
+ nothrow_integer n(nothrow_integer::nan());
+ BOOST_CHECK(n.is_nan());
+ nothrow_integer n2(n);
+ BOOST_CHECK(n2.is_nan());
+ n2=n;
+ BOOST_CHECK(n2.is_nan());
+}
+
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/test/test_divide.cpp
==============================================================================
--- sandbox/xint/test/test_divide.cpp (original)
+++ sandbox/xint/test/test_divide.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -13,13 +13,13 @@
     thoroughly.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/random.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
-#include <boost/tuple/tuple.hpp>
 #include <boost/random.hpp>
 
 namespace boost {
@@ -29,9 +29,9 @@
 
 namespace {
 
-void _test(int section, int test, integer n, integer m) {
- integer answer, remainder;
- boost::tie(answer, remainder)=divide_r(n, m);
+void _test(size_t section, size_t test, integer n, integer m) {
+ integer::divide_t a(divide_r(n, m));
+ integer answer(a.quotient), remainder(a.remainder);
 
     integer check=answer*m+remainder;
     if (check != n || abs(remainder) >= abs(m)) {
@@ -72,22 +72,16 @@
 BOOST_AUTO_TEST_CASE(testDivide) {
     set_random_generator(new boost::mt19937(42u));
 
- for (int i=0; i<10000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
- _test(1, i, n, m);
- }
-
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*3, false, false, true));
- _test(2, i, n, m);
- }
-
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
- _test(3, i, n, m);
+ for (size_t nsize = detail::bits_per_digit * 3; nsize <
+ detail::bits_per_digit * 5; nsize += 4)
+ {
+ for (size_t msize = detail::bits_per_digit * 3; msize <
+ detail::bits_per_digit * 5; msize += 4)
+ {
+ integer n(random_by_size(nsize, false, false, true)),
+ m(random_by_size(msize, false, false, true));
+ _test(nsize, msize, n, m);
+ }
     }
 }
 

Added: sandbox/xint/test/test_fixed.cpp
==============================================================================
--- (empty file)
+++ sandbox/xint/test/test_fixed.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,158 @@
+
+/*
+ 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 tests for the fixed_integer type's initializations.
+*/
+
+#include <boost/xint/integer.hpp>
+#include <boost/xint/nothrow_integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
+
+#include <iomanip>
+
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
+#include <boost/test/output_test_stream.hpp>
+
+using namespace std;
+using boost::test_tools::output_test_stream;
+
+namespace boost {
+namespace xint {
+
+BOOST_AUTO_TEST_CASE(test_fixed_internals) {
+ const size_t bits = detail::bits_per_digit + (detail::bits_per_digit / 2);
+ typedef fixed_integer<bits> T; // Digit-and-a-half
+ T test;
+
+ BOOST_CHECK_EQUAL(test._fixed_bits(), bits);
+}
+
+BOOST_AUTO_TEST_CASE(test_numeric_limits) {
+ BOOST_CHECK_EQUAL(std::numeric_limits<fixed_integer<8> >::digits10,
+ std::numeric_limits<boost::uint8_t>::digits10);
+ BOOST_CHECK_EQUAL(std::numeric_limits<fixed_integer<16> >::digits10,
+ std::numeric_limits<boost::uint16_t>::digits10);
+ BOOST_CHECK_EQUAL(std::numeric_limits<fixed_integer<32> >::digits10,
+ std::numeric_limits<boost::uint32_t>::digits10);
+
+ const size_t maxbits = std::numeric_limits<boost::uintmax_t>::digits;
+ BOOST_CHECK_EQUAL(std::numeric_limits<fixed_integer<maxbits> >::digits10,
+ std::numeric_limits<boost::uintmax_t>::digits10);
+
+ const size_t bits = detail::bits_per_digit + (detail::bits_per_digit / 2);
+ typedef fixed_integer<bits> T; // Digit-and-a-half
+ const size_t digits10 = std::numeric_limits<T>::digits10;
+
+ T n(1);
+ for (size_t i = 0; i < digits10; ++i) n *= 10;
+
+ T n2(n * 10);
+ integer check(n);
+ check *= 10;
+
+ BOOST_CHECK_NE(integer(n2), check); // n2 should be truncated to a smaller number
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_from_nan) {
+ typedef fixed_integer<12> T;
+ BOOST_CHECK_THROW(T i(nothrow_integer::nan()), exceptions::not_a_number);
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_from_string) {
+ integer src("0x12345678901234567890", autobase);
+ typedef fixed_integer<12> T;
+ T i(src);
+ BOOST_CHECK_EQUAL(i, 0x890);
+ BOOST_CHECK(i._is_fixed());
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_from_integer) {
+ const std::string original("0x123456789012345678901234567890");
+ const std::string trimmed("0x6789012345678901234567890");
+ integer src(original, autobase);
+
+ typedef fixed_integer<100> T;
+ T i(src);
+ BOOST_CHECK(i._is_fixed());
+
+ output_test_stream output;
+ output << hex << showbase << i;
+ BOOST_CHECK(output.is_equal(trimmed));
+
+ BOOST_CHECK_EQUAL(i, T(trimmed, autobase));
+ BOOST_CHECK_EQUAL(integer(i), integer(trimmed, autobase));
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_from_fixed) {
+ const std::string original("0x123456789012345678901234567890");
+ typedef fixed_integer<12> T12;
+ typedef fixed_integer<100> T100;
+
+ T100 original_int(original, autobase);
+ T12 smaller(original_int);
+ T100 larger(smaller);
+ larger = T100(original, autobase);
+
+ BOOST_CHECK_EQUAL(smaller, 0x890);
+ BOOST_CHECK_EQUAL(larger, original_int);
+}
+
+BOOST_AUTO_TEST_CASE(test_integer_from_fixed) {
+ fixed_integer<12> n(0x890);
+ integer i(n);
+ BOOST_CHECK_EQUAL(i, 0x890);
+ BOOST_CHECK(!i._is_fixed());
+}
+
+BOOST_AUTO_TEST_CASE(test_unary_operators) {
+ fixed_integer<8> zero(0), one(1);
+ BOOST_CHECK_EQUAL(!zero, true);
+ BOOST_CHECK_EQUAL(!one, false);
+
+ BOOST_CHECK_EQUAL(+one, 1);
+ BOOST_CHECK_EQUAL(-one, -1);
+
+ const size_t bits = detail::bits_per_digit + (detail::bits_per_digit / 2);
+ typedef fixed_integer<bits> T; // Digit-and-a-half
+ boost::uintmax_t src=0x12345678;
+ T t(src);
+ BOOST_CHECK_EQUAL(~t, T(~src));
+}
+
+BOOST_AUTO_TEST_CASE(test_fixed_add_subtract) {
+ const size_t bits = detail::bits_per_digit + (detail::bits_per_digit / 2);
+ typedef fixed_integer<bits> T; // Digit-and-a-half
+
+ T n1(detail::digit_mask), n2;
+ n2 = n1;
+ BOOST_CHECK_EQUAL(n1, detail::digit_mask);
+ BOOST_CHECK_EQUAL(n2, n1);
+
+ T n3 = n1 + n2;
+
+ integer check = (integer(n1) + integer(n2)) & (pow2(bits) - 1);
+ BOOST_CHECK_EQUAL(integer(n3), check);
+
+ typedef fixed_integer<8> T8;
+ T8 n4 = T8(-255) - 2;
+ BOOST_CHECK_EQUAL(n4, -1);
+
+ n4 = 255;
+ n4 += 2;
+ BOOST_CHECK_EQUAL(n4, 1);
+}
+
+} // namespace xint
+} // namespace boost

Modified: sandbox/xint/test/test_main.cpp
==============================================================================
--- sandbox/xint/test/test_main.cpp (original)
+++ sandbox/xint/test/test_main.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -17,18 +17,18 @@
     writing them or in production.
 */
 
-#include <boost/xint/xint.hpp>
-
 #if 1
     #define BOOST_TEST_MAIN
     #define BOOST_TEST_DYN_LINK
     #include <boost/test/unit_test.hpp>
 #else
+ #include <boost/xint/xint.hpp>
     #include <iostream>
+ #include <iomanip>
 
     // For running one-off tests
     int main() {
- using namespace boost::xint::core;
- std::cout << boost::xint::core::pow(19, 1412);
+ using namespace std;
+ using namespace boost::xint;
     }
 #endif

Added: sandbox/xint/test/test_misc.cpp
==============================================================================
--- (empty file)
+++ sandbox/xint/test/test_misc.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,59 @@
+
+/*
+ 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 tests that don't fit elsewhere.
+*/
+
+#include <boost/xint/integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
+
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
+
+namespace boost {
+namespace xint {
+
+BOOST_AUTO_TEST_CASE(test_log2) {
+ // Check the detail::log2 template functions, unsigned and signed
+ unsigned int u = (1 << (std::numeric_limits<unsigned int>::digits - 1));
+ BOOST_CHECK_EQUAL(detail::log2(u), std::numeric_limits<unsigned int>::digits);
+ int s = (1 << (std::numeric_limits<int>::digits - 1));
+ BOOST_CHECK_EQUAL(detail::log2(s), std::numeric_limits<int>::digits);
+
+ // Check the log2 function for the integer class
+ integer n(0x87654321);
+ n <<= detail::bits_per_digit;
+ size_t expected = 32 + detail::bits_per_digit;
+ while (expected != 0) {
+ n >>= 1;
+ --expected;
+ BOOST_CHECK_EQUAL(log2(n), expected);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(test_gcd) {
+ // These two numbers share no factors.
+ integer n("47c45018f2f6e19dfbf4190c66d2bd306010261f", 16),
+ m("2b6a501cd0b26e1dfd70918455621257ac2c697a", 16);
+ BOOST_CHECK_EQUAL(gcd(n, m), 1);
+ BOOST_CHECK_EQUAL(gcd(n*127, m*127), 127);
+}
+
+BOOST_AUTO_TEST_CASE(test_lcm) {
+ integer n(1307), m(1663), q(3571); // Arbitrarily-selected prime numbers
+ BOOST_CHECK_EQUAL(lcm(n*q, m*q), n*m*q);
+}
+
+} // namespace xint
+} // namespace boost

Added: sandbox/xint/test/test_modular.cpp
==============================================================================
--- (empty file)
+++ sandbox/xint/test/test_modular.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,40 @@
+
+/*
+ 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
+
+ This file contains tests for the modular math functions.
+*/
+
+#include <boost/xint/integer.hpp>
+
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
+
+namespace boost {
+namespace xint {
+
+BOOST_AUTO_TEST_CASE(test_mod) {
+ integer n(0x12345678);
+ BOOST_CHECK_EQUAL(mod(n, 0x1000), 0x678);
+}
+
+BOOST_AUTO_TEST_CASE(test_invmod) {
+ // When a number is multiplied modularly by its inverse, the result should
+ // be one.
+ integer n("2b6a501cd0b26e1dfd70918455621257ac2c697a", 16),
+ modulus("47c45018f2f6e19dfbf4190c66d2bd306010261f", 16);
+ integer inverse = invmod(n, modulus);
+ BOOST_CHECK_EQUAL(mulmod(n, inverse, modulus), 1);
+
+ inverse = invmod(-n, modulus);
+ BOOST_CHECK_EQUAL(mulmod(-n, inverse, modulus), 1);
+}
+
+} // namespace xint
+} // namespace boost

Modified: sandbox/xint/test/test_monty.cpp
==============================================================================
--- sandbox/xint/test/test_monty.cpp (original)
+++ sandbox/xint/test/test_monty.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -11,7 +11,8 @@
     This file contains the test functions for the Montgomery stuff.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/random.hpp>
 #include <boost/xint/monty.hpp>
 
 #define BOOST_TEST_DYN_LINK
@@ -28,13 +29,13 @@
 
 namespace {
 
-void _test1(int section, int test, integer x, integer y, integer m) {
+void _test1(size_t section, size_t test, integer x, integer y, integer m) {
     integer xx=toMontgomeryForm(x, m), yy=toMontgomeryForm(y, m);
     integer mResult=fromMontgomeryForm(montgomeryMultiplyMod(xx, yy, m,
         inverse0(m)), m);
     integer cResult=mod(x * y, m);
 
- if (mResult != cResult) {
+ if (mResult != cResult && mod(-mResult, m) != cResult) {
         std::ostringstream out;
         out << "testMontyMultiply, section " << section << ", " << test << endl;
         out << "x = " << to_string(x, 16) << endl;
@@ -46,7 +47,7 @@
     }
 }
 
-void _test2(int section, int test, integer b, integer r, integer modulus) {
+void _test2(size_t section, size_t test, integer b, integer r, integer modulus) {
     integer mResult=montgomeryPowerMod(b%modulus, r, modulus);
     integer cResult=powmod(b%modulus, r, modulus, true);
     if (mResult != cResult) {
@@ -78,25 +79,28 @@
     // there are problems.
     set_random_generator(new boost::mt19937(42u));
 
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false, true));
- integer m(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false, true));
- integer modulus(random_by_size(detail::bits_per_digit*4 + random1ToDigitLength(), true, true, false));
- _test1(1, i, n, m, modulus);
- }
-
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false, true));
- integer m(random_by_size(detail::bits_per_digit*2 + random1ToDigitLength(), false, false, true));
- integer modulus(random_by_size(detail::bits_per_digit*4 + random1ToDigitLength(), true, true, false));
- _test1(2, i, n, m, modulus);
- }
-
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*2 + random1ToDigitLength(), false, false, true));
- integer m(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false, true));
- integer modulus(random_by_size(detail::bits_per_digit*4 + random1ToDigitLength(), true, true, false));
- _test1(3, i, n, m, modulus);
+ {
+ integer n("ffffffffaec73757", 16);
+ integer m("-3856431e", 16);
+ integer modulus("10000000000000000fffffffff14e691d", 16);
+ _test1(0, 1, n, m, modulus);
+ }
+
+ for (size_t nsize = detail::bits_per_digit * 2; nsize <
+ detail::bits_per_digit * 4; nsize += 4)
+ {
+ for (size_t msize = detail::bits_per_digit * 2; msize <
+ detail::bits_per_digit * 4; msize += 4)
+ {
+ for (size_t modsize = detail::bits_per_digit * 4; msize <
+ detail::bits_per_digit * 5; msize += 4)
+ {
+ integer n(random_by_size(nsize, false, false, true)),
+ m(random_by_size(msize, false, false, true)),
+ modulus(random_by_size(modsize, true, true, false));
+ _test1(nsize, msize, n, m, modulus);
+ }
+ }
     }
 }
 
@@ -106,30 +110,27 @@
     set_random_generator(new boost::mt19937(42u));
 
     {
- integer modulus(random_by_size(detail::bits_per_digit * 5 + random1ToDigitLength(), true, true));
+ integer modulus(random_by_size(detail::bits_per_digit * 5 +
+ (detail::bits_per_digit / 2), true, true));
         for (int i=2; i<100; ++i)
             _test2(0, i, integer("abcd1234", 16), i, modulus);
     }
 
- for (int i=0; i<100; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false));
- integer m(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false));
- integer modulus(random_by_size(detail::bits_per_digit * 2 + random(size_t(1), 3*detail::bits_per_digit), true, true));
- _test2(1, i, n, m, modulus);
- }
-
- for (int i=0; i<100; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false));
- integer m(random_by_size(detail::bits_per_digit*2 + random1ToDigitLength(), false, false));
- integer modulus(random_by_size(detail::bits_per_digit * 4 + random1ToDigitLength(), true, true));
- _test2(2, i, n, m, modulus);
- }
-
- for (int i=0; i<100; ++i) {
- integer n(random_by_size(detail::bits_per_digit*2 + random1ToDigitLength(), false, false));
- integer m(random_by_size(detail::bits_per_digit*3 + random1ToDigitLength(), false, false));
- integer modulus(random_by_size(detail::bits_per_digit * 4 + random1ToDigitLength(), true, true));
- _test2(3, i, n, m, modulus);
+ for (size_t nsize = detail::bits_per_digit * 2; nsize <
+ detail::bits_per_digit * 4; nsize += 8)
+ {
+ for (size_t msize = detail::bits_per_digit * 2; msize <
+ detail::bits_per_digit * 4; msize += 8)
+ {
+ for (size_t modsize = detail::bits_per_digit * 2; msize <
+ detail::bits_per_digit * 5; msize += 8)
+ {
+ integer n(random_by_size(nsize, false, false)),
+ m(random_by_size(msize, false, false)),
+ modulus(random_by_size(modsize, true, true));
+ _test2(nsize, msize, n, m, modulus);
+ }
+ }
     }
 }
 

Modified: sandbox/xint/test/test_multiply.cpp
==============================================================================
--- sandbox/xint/test/test_multiply.cpp (original)
+++ sandbox/xint/test/test_multiply.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -12,12 +12,15 @@
     division, but only indirectly, and not very thoroughly.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/random.hpp>
+#include <boost/xint/fixed_integer.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
+#include <boost/random/mersenne_twister.hpp>
 
 namespace boost {
 namespace xint {
@@ -26,7 +29,7 @@
 
 namespace {
 
-void _test(int section, int test, integer n, integer m) {
+void _test(size_t section, size_t test, integer n, integer m) {
     //BOOST_MESSAGE("testMultiply " << section << ", " << test);
 
     integer result(m*n);
@@ -55,10 +58,11 @@
 BOOST_AUTO_TEST_CASE(testMultiply) {
     {
         // These caused a problem while trying to backport the new division
- // algorithm into the version used elsewhere.
+ // algorithm into an alternate version.
         integer n=integer("-41e0348d52a1be49b7da339137639cde", 16);
                 integer m=integer("c3a1d54a63e80d5a8b851a01d244ea61", 16);
- _test(0, 0, n, m);
+ integer expected=integer("-32576CEB63105D373FE83F8B3C8A0B68ADAD386F3B668C694D7ADCA8D1195C1E", 16);
+ BOOST_CHECK_EQUAL(n*m, expected);
 
         // 'm' contains a full digit of zeros, which caused problems with an
         // earlier implementation.
@@ -67,23 +71,34 @@
                 _test(0, 1, n, m);
     }
 
- for (int i=0; i<10000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
- _test(1, i, n, m);
- }
+ set_random_generator(new boost::mt19937(42u));
 
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*3, false, false, true));
- _test(2, i, n, m);
+ for (size_t nsize = detail::bits_per_digit * 3; nsize <
+ detail::bits_per_digit * 5; nsize += 4)
+ {
+ for (size_t msize = detail::bits_per_digit * 3; msize <
+ detail::bits_per_digit * 5; msize += 4)
+ {
+ integer n(random_by_size(nsize, false, false, true)),
+ m(random_by_size(msize, false, false, true));
+ _test(nsize, msize, n, m);
+ }
     }
+}
 
- for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
- _test(3, i, n, m);
- }
+BOOST_AUTO_TEST_CASE(test_fixed_multiply) {
+ const size_t bits = detail::bits_per_digit + (detail::bits_per_digit / 2);
+ typedef fixed_integer<bits> T; // Digit-and-a-half
+
+ T n; n = ~n;
+ T a = n * n;
+ T check(integer(n) * integer(n));
+ BOOST_CHECK_EQUAL(a, check);
+}
+
+BOOST_AUTO_TEST_CASE(test_multiply_by_sqr) {
+ integer n(5);
+ BOOST_CHECK_EQUAL(n * -n, -25);
 }
 
 } // namespace xint

Added: sandbox/xint/test/test_powers.cpp
==============================================================================
--- (empty file)
+++ sandbox/xint/test/test_powers.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -0,0 +1,97 @@
+
+/*
+ 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
+
+ This file contains the tests for the power functions.
+*/
+
+#include <boost/xint/integer.hpp>
+#include <boost/xint/fixed_integer.hpp>
+
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
+
+namespace boost {
+namespace xint {
+
+//using namespace detail;
+using detail::bits_per_digit;
+
+BOOST_AUTO_TEST_CASE(test_sqr) {
+ {
+ const size_t bits = bits_per_digit;
+ const size_t nybbles = bits / 4;
+ integer src;
+ for (size_t i = 0; i != nybbles; ++i)
+ src = (src * 16) + ((i + 0x0a) % 16);
+
+ integer squared = sqr(src);
+ BOOST_CHECK_EQUAL(squared / src, src);
+ }
+
+ {
+ const size_t bits = bits_per_digit + (bits_per_digit / 2);
+ const size_t nybbles = bits / 4;
+ integer src;
+ for (size_t i = 0; i != nybbles; ++i)
+ src = (src * 16) + ((i + 0x0a) % 16);
+
+ integer squared = sqr(src);
+ BOOST_CHECK_EQUAL(squared / src, src);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(test_pow) {
+ {
+ integer n(234), n2(pow(n, 2)), n3(pow(n, 3));
+ BOOST_CHECK_EQUAL(n2, 54756);
+ BOOST_CHECK_EQUAL(n3, 12812904);
+
+ BOOST_CHECK_EQUAL(n2 / n, n);
+ BOOST_CHECK_EQUAL(n3 / n / n, n);
+ }
+
+ {
+ integer n(-234), n2(pow(n, 2)), n3(pow(n, 3));
+ BOOST_CHECK_EQUAL(n2 / n, n);
+ BOOST_CHECK_EQUAL(n3 / n / n, n);
+ }
+
+ {
+ integer n(-235), n2(pow(n, 2)), n3(pow(n, 3));
+ BOOST_CHECK_EQUAL(n2 / n, n);
+ BOOST_CHECK_EQUAL(n3 / n / n, n);
+ }
+
+ {
+ fixed_integer<8> n(-235), n2(pow(n, 2)), n3(pow(n, 3));
+ BOOST_CHECK_EQUAL(n2, 0xb9);
+ BOOST_CHECK_EQUAL(n3, -0xd3);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(test_factorial) {
+ integer i1 = factorial(20);
+ BOOST_CHECK_EQUAL(i1, integer("21C3677C82B40000", 16));
+
+ fixed_integer<12> i2 = fixed_factorial<12>(8);
+ BOOST_CHECK_EQUAL(i2, 0xd80);
+}
+
+BOOST_AUTO_TEST_CASE(test_sqrt) {
+ integer n(1), i(1);
+ while (n < 30) {
+ integer target = sqr(n + 1);
+ while (i < target) { BOOST_CHECK_EQUAL(sqrt(i), n); ++i; }
+ ++n;
+ }
+}
+
+} // namespace xint
+} // namespace boost

Modified: sandbox/xint/test/test_streams.cpp
==============================================================================
--- sandbox/xint/test/test_streams.cpp (original)
+++ sandbox/xint/test/test_streams.cpp 2010-04-30 00:35:51 EDT (Fri, 30 Apr 2010)
@@ -11,7 +11,8 @@
     This file contains the stream testing functions.
 */
 
-#include <boost/xint/xint.hpp>
+#include <boost/xint/integer.hpp>
+#include <boost/xint/nothrow_integer.hpp>
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>


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