Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61046 - in sandbox/xint: boost/xint boost/xint/src doc doc/doxygen doc/doxygen/html doc/doxygen/images example libs/xint/doc libs/xint/doc/doxygen libs/xint/doc/doxygen/html libs/xint/doc/doxygen/images libs/xint/example libs/xint/test src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-04-04 11:59:59


Author: chadnelson
Date: 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
New Revision: 61046
URL: http://svn.boost.org/trac/boost/changeset/61046

Log:
Reorganized repository, new and improved divide code, other minor improvements
Added:
   sandbox/xint/doc/
   sandbox/xint/doc/doxygen/
   sandbox/xint/doc/doxygen/Doxyfile.txt (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/Doxyfile.txt
   sandbox/xint/doc/doxygen/blurbs.css
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/blurbs.css
   sandbox/xint/doc/doxygen/doxywarn.log
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/doxywarn.log
   sandbox/xint/doc/doxygen/html/
   sandbox/xint/doc/doxygen/html/annotated.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/annotated.html
   sandbox/xint/doc/doxygen/html/bit__manipulations_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html
   sandbox/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html
   sandbox/xint/doc/doxygen/html/classes.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classes.html
   sandbox/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html
   sandbox/xint/doc/doxygen/html/classxint_1_1integer-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1integer.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__base.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__digit.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html
   sandbox/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1not__a__number.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html
   sandbox/xint/doc/doxygen/html/classxint_1_1too__big-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html
   sandbox/xint/doc/doxygen/html/classxint_1_1too__big.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html
   sandbox/xint/doc/doxygen/html/compare_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html
   sandbox/xint/doc/doxygen/html/compare_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html
   sandbox/xint/doc/doxygen/html/convert_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html
   sandbox/xint/doc/doxygen/html/convert_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html
   sandbox/xint/doc/doxygen/html/data__t_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html
   sandbox/xint/doc/doxygen/html/data__t_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html
   sandbox/xint/doc/doxygen/html/doxygen.png
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/doxygen.png
   sandbox/xint/doc/doxygen/html/exception__blocker_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html
   sandbox/xint/doc/doxygen/html/exception__blocker_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html
   sandbox/xint/doc/doxygen/html/files.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/files.html
   sandbox/xint/doc/doxygen/html/functions.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions.html
   sandbox/xint/doc/doxygen/html/functions_func.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html
   sandbox/xint/doc/doxygen/html/functions_vars.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html
   sandbox/xint/doc/doxygen/html/gcd_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html
   sandbox/xint/doc/doxygen/html/gcd_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html
   sandbox/xint/doc/doxygen/html/globals.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals.html
   sandbox/xint/doc/doxygen/html/globals_defs.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html
   sandbox/xint/doc/doxygen/html/globals_func.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html
   sandbox/xint/doc/doxygen/html/globals_vars.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html
   sandbox/xint/doc/doxygen/html/index.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/index.html
   sandbox/xint/doc/doxygen/html/integer_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html
   sandbox/xint/doc/doxygen/html/integer_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html
   sandbox/xint/doc/doxygen/html/misc_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html
   sandbox/xint/doc/doxygen/html/misc_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html
   sandbox/xint/doc/doxygen/html/modular_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html
   sandbox/xint/doc/doxygen/html/modular_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html
   sandbox/xint/doc/doxygen/html/monty_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html
   sandbox/xint/doc/doxygen/html/monty_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html
   sandbox/xint/doc/doxygen/html/my_doxygen.css
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/my_doxygen.css
   sandbox/xint/doc/doxygen/html/namespacedetail.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail.html
   sandbox/xint/doc/doxygen/html/namespacedetail_1_1xint.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail_1_1xint.html
   sandbox/xint/doc/doxygen/html/namespacemembers.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html
   sandbox/xint/doc/doxygen/html/namespacemembers_func.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html
   sandbox/xint/doc/doxygen/html/namespacemembers_type.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html
   sandbox/xint/doc/doxygen/html/namespacemembers_vars.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html
   sandbox/xint/doc/doxygen/html/namespaces.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html
   sandbox/xint/doc/doxygen/html/namespacexint.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html
   sandbox/xint/doc/doxygen/html/namespacexint_1_1detail.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html
   sandbox/xint/doc/doxygen/html/operators_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html
   sandbox/xint/doc/doxygen/html/operators_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html
   sandbox/xint/doc/doxygen/html/powers_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html
   sandbox/xint/doc/doxygen/html/powers_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html
   sandbox/xint/doc/doxygen/html/primes_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html
   sandbox/xint/doc/doxygen/html/primes_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html
   sandbox/xint/doc/doxygen/html/primitives_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html
   sandbox/xint/doc/doxygen/html/primitives_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html
   sandbox/xint/doc/doxygen/html/random_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html
   sandbox/xint/doc/doxygen/html/random_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html
   sandbox/xint/doc/doxygen/html/roots_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html
   sandbox/xint/doc/doxygen/html/roots_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html
   sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html
   sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html
   sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html
   sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
   sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html
   sandbox/xint/doc/doxygen/html/tab_b.gif
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_b.gif
   sandbox/xint/doc/doxygen/html/tab_l.gif
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_l.gif
   sandbox/xint/doc/doxygen/html/tab_r.gif
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_r.gif
   sandbox/xint/doc/doxygen/html/tabs.css
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tabs.css
   sandbox/xint/doc/doxygen/html/xint_8hpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html
   sandbox/xint/doc/doxygen/html/xint_8hpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html
   sandbox/xint/doc/doxygen/html/xint__data__t_8hpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html
   sandbox/xint/doc/doxygen/html/xint__data__t_8hpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html
   sandbox/xint/doc/doxygen/html/xint__fibonacci_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html
   sandbox/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html
   sandbox/xint/doc/doxygen/html/xint__monty_8hpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html
   sandbox/xint/doc/doxygen/html/xint__monty_8hpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html
   sandbox/xint/doc/doxygen/html/xint__simple_8cpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html
   sandbox/xint/doc/doxygen/html/xint__simple_8cpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html
   sandbox/xint/doc/doxygen/html/xint__test_8hpp.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html
   sandbox/xint/doc/doxygen/html/xint__test_8hpp_source.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html
   sandbox/xint/doc/doxygen/images/
   sandbox/xint/doc/doxygen/images/Written_for_Boost.png
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/Written_for_Boost.png
   sandbox/xint/doc/doxygen/images/boost_in_mind.png
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/boost_in_mind.png
   sandbox/xint/doc/doxygen/images/draft.png
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/draft.png
   sandbox/xint/doc/doxygen/images/proposed_boost.png
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/proposed_boost.png
   sandbox/xint/doc/doxygen/tabs.css
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/tabs.css
   sandbox/xint/doc/doxygen/xint_doxygen.css
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen.css
   sandbox/xint/doc/doxygen/xint_doxygen_footer.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_footer.html
   sandbox/xint/doc/doxygen/xint_doxygen_header.html
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_header.html
   sandbox/xint/doc/xint.qbk
      - copied, changed from r61045, /sandbox/xint/libs/xint/doc/xint.qbk
   sandbox/xint/example/
   sandbox/xint/example/xint_fibonacci.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/libs/xint/example/xint_fibonacci.cpp
   sandbox/xint/example/xint_simple.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/libs/xint/example/xint_simple.cpp
   sandbox/xint/src/
   sandbox/xint/src/bit_manipulations.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/bit_manipulations.cpp
   sandbox/xint/src/compare.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/compare.cpp
   sandbox/xint/src/convert.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/convert.cpp
   sandbox/xint/src/data_t.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/data_t.cpp
   sandbox/xint/src/exception_blocker.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/exception_blocker.cpp
   sandbox/xint/src/gcd.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/gcd.cpp
   sandbox/xint/src/integer.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/integer.cpp
   sandbox/xint/src/misc.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/misc.cpp
   sandbox/xint/src/modular.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/modular.cpp
   sandbox/xint/src/monty.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/monty.cpp
   sandbox/xint/src/operators.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/operators.cpp
   sandbox/xint/src/powers.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/powers.cpp
   sandbox/xint/src/primes.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/primes.cpp
   sandbox/xint/src/primitives.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/primitives.cpp
   sandbox/xint/src/random.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/random.cpp
   sandbox/xint/src/roots.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/boost/xint/src/roots.cpp
   sandbox/xint/test/
   sandbox/xint/test/xint_test.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/libs/xint/test/xint_test.cpp
   sandbox/xint/test/xint_test_addsub.cpp (contents, props changed)
      - copied, changed from r61045, /sandbox/xint/libs/xint/test/xint_test_addsub.cpp
Removed:
   sandbox/xint/boost/xint/src/bit_manipulations.cpp
   sandbox/xint/boost/xint/src/compare.cpp
   sandbox/xint/boost/xint/src/convert.cpp
   sandbox/xint/boost/xint/src/data_t.cpp
   sandbox/xint/boost/xint/src/exception_blocker.cpp
   sandbox/xint/boost/xint/src/gcd.cpp
   sandbox/xint/boost/xint/src/integer.cpp
   sandbox/xint/boost/xint/src/misc.cpp
   sandbox/xint/boost/xint/src/modular.cpp
   sandbox/xint/boost/xint/src/monty.cpp
   sandbox/xint/boost/xint/src/operators.cpp
   sandbox/xint/boost/xint/src/powers.cpp
   sandbox/xint/boost/xint/src/primes.cpp
   sandbox/xint/boost/xint/src/primitives.cpp
   sandbox/xint/boost/xint/src/random.cpp
   sandbox/xint/boost/xint/src/roots.cpp
   sandbox/xint/libs/xint/doc/doxygen/Doxyfile.txt
   sandbox/xint/libs/xint/doc/doxygen/blurbs.css
   sandbox/xint/libs/xint/doc/doxygen/doxywarn.log
   sandbox/xint/libs/xint/doc/doxygen/html/annotated.html
   sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/classes.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html
   sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/doxygen.png
   sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/files.html
   sandbox/xint/libs/xint/doc/doxygen/html/functions.html
   sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html
   sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html
   sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/globals.html
   sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html
   sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html
   sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html
   sandbox/xint/libs/xint/doc/doxygen/html/index.html
   sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/my_doxygen.css
   sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail_1_1xint.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html
   sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html
   sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html
   sandbox/xint/libs/xint/doc/doxygen/html/tab_b.gif
   sandbox/xint/libs/xint/doc/doxygen/html/tab_l.gif
   sandbox/xint/libs/xint/doc/doxygen/html/tab_r.gif
   sandbox/xint/libs/xint/doc/doxygen/html/tabs.css
   sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html
   sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html
   sandbox/xint/libs/xint/doc/doxygen/images/Written_for_Boost.png
   sandbox/xint/libs/xint/doc/doxygen/images/boost_in_mind.png
   sandbox/xint/libs/xint/doc/doxygen/images/draft.png
   sandbox/xint/libs/xint/doc/doxygen/images/proposed_boost.png
   sandbox/xint/libs/xint/doc/doxygen/tabs.css
   sandbox/xint/libs/xint/doc/doxygen/xint_doxygen.css
   sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_footer.html
   sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_header.html
   sandbox/xint/libs/xint/doc/xint.qbk
   sandbox/xint/libs/xint/example/xint_fibonacci.cpp
   sandbox/xint/libs/xint/example/xint_simple.cpp
   sandbox/xint/libs/xint/test/xint_test.cpp
   sandbox/xint/libs/xint/test/xint_test_addsub.cpp
Text files modified:
   sandbox/xint/boost/xint/xint.hpp | 23 +++------
   sandbox/xint/src/bit_manipulations.cpp | 4
   sandbox/xint/src/compare.cpp | 4
   sandbox/xint/src/convert.cpp | 4
   sandbox/xint/src/data_t.cpp | 4
   sandbox/xint/src/exception_blocker.cpp | 2
   sandbox/xint/src/gcd.cpp | 2
   sandbox/xint/src/integer.cpp | 18 +++++--
   sandbox/xint/src/misc.cpp | 2
   sandbox/xint/src/modular.cpp | 4
   sandbox/xint/src/monty.cpp | 15 +++---
   sandbox/xint/src/operators.cpp | 2
   sandbox/xint/src/powers.cpp | 4
   sandbox/xint/src/primes.cpp | 2
   sandbox/xint/src/primitives.cpp | 91 ++++++++++++++++-----------------------
   sandbox/xint/src/random.cpp | 43 +++++++-----------
   sandbox/xint/src/roots.cpp | 2
   17 files changed, 103 insertions(+), 123 deletions(-)

Deleted: sandbox/xint/boost/xint/src/bit_manipulations.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/bit_manipulations.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,169 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the bit-manipulation functions.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-namespace xint {
-
-using namespace detail;
-
-bool getbit(const integer& n, size_t bit) {
- n._throw_if_nan();
- 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(integer& n, size_t bit) {
- n._throw_if_nan();
- n._make_unique();
- detail::data_t *ndata=n._get_data();
-
- size_t index=bit/bits_per_digit;
- if (index >= n._get_length()) ndata->realloc(index+1);
-
- digit_t mask=(digit_t(1) << (bit % bits_per_digit));
- ndata->digits[index] |= mask;
- ndata->skipLeadingZeros();
-}
-
-void clearbit(integer& n, size_t bit) {
- n._throw_if_nan();
- 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_data()->digits[index] &= ~mask;
- n._get_data()->skipLeadingZeros();
- }
-}
-
-size_t lowestbit(const integer& n, size_t defaultValue) {
- if (n.sign()==0) return defaultValue;
-
- const detail::data_t *ndata=n._get_data();
- const digit_t *p=ndata->digits, *pe=p+ndata->mLength;
- while (p!=pe && *p==0) ++p;
-
- size_t index=(p - ndata->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 integer& n, size_t defaultValue) {
- if (n.sign()==0) return defaultValue;
- return static_cast<size_t>(log2(n)-1);
-}
-
-integer bitwise_and(const integer& n1, const integer& n2) {
- n1._throw_if_nan();
- n2._throw_if_nan();
-
- const detail::data_t *smaller=n1._get_data(), *larger=n2._get_data();
- if (smaller->mLength > larger->mLength) std::swap(smaller, larger);
-
- integer r;
- detail::data_t *rdata=r._get_data();
- rdata->alloc(smaller->mLength);
-
- const digit_t *s1=smaller->digits, *s1e=s1+smaller->mLength, *s2=larger->digits;
- digit_t *t=rdata->digits;
-
- while (s1 < s1e) *t++ = *s1++ & *s2++;
-
- rdata->skipLeadingZeros();
- return r;
-}
-
-integer bitwise_or(const integer& n1, const integer& n2) {
- n1._throw_if_nan();
- n2._throw_if_nan();
-
- const detail::data_t *smaller=n1._get_data(), *larger=n2._get_data();
- if (smaller->mLength > larger->mLength) std::swap(smaller, larger);
-
- integer r;
- detail::data_t *rdata=r._get_data();
- rdata->alloc(larger->mLength);
-
- const digit_t *s1=smaller->digits, *s1e=s1+smaller->mLength;
- const digit_t *s2=larger->digits, *s2e=s2+larger->mLength;
- digit_t *t=rdata->digits;
-
- while (s1<s1e) *t++ = *s1++ | *s2++;
- while (s2<s2e) *t++ = *s2++;
-
- rdata->skipLeadingZeros();
- return r;
-}
-
-integer bitwise_xor(const integer& n1, const integer& n2) {
- n1._throw_if_nan();
- n2._throw_if_nan();
-
- const detail::data_t *smaller=n1._get_data(), *larger=n2._get_data();
- if (smaller->mLength > larger->mLength) std::swap(smaller, larger);
-
- integer r;
- detail::data_t *rdata=r._get_data();
- rdata->alloc(larger->mLength);
-
- const digit_t *s1=smaller->digits, *s1e=s1+smaller->mLength;
- const digit_t *s2=larger->digits, *s2e=s2+larger->mLength;
- digit_t *t=rdata->digits;
-
- while (s1<s1e) *t++ = *s1++ ^ *s2++;
- while (s2<s2e) *t++ = *s2++;
-
- rdata->skipLeadingZeros();
- return r;
-}
-
-integer shift(const integer& n, int byBits) {
- if (byBits > 0) return shift_left(n, byBits);
- else return shift_right(n, -byBits);
-}
-
-integer shift_left(const integer& _n, size_t byBits) {
- _n._throw_if_nan();
-
- if (byBits==0) return _n;
-
- integer n(_n);
- n._make_unique();
- n._get_data()->shift_left(byBits);
- return n;
-}
-
-integer shift_right(const integer& _n, size_t byBits) {
- _n._throw_if_nan();
-
- if (byBits==0) return _n;
-
- integer n(_n);
- n._make_unique();
- n._get_data()->shift_right(byBits);
- return n;
-}
-
-} // namespace detail

Deleted: sandbox/xint/boost/xint/src/compare.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/compare.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,60 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definition for the compare function, and the
- comparison operators that use it.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-namespace xint {
-
-int compare(const integer &b1, const integer &b2, bool ignoresign) {
- b1._throw_if_nan();
- b2._throw_if_nan();
-
- 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);
- }
-
- const detail::data_t *b1data=b1._get_data();
- const detail::data_t *b2data=b2._get_data();
-
- int answer=0;
- if (b1data->mLength != b2data->mLength) {
- answer=((b1data->mLength < b2data->mLength) ? -1 : 1);
- } else {
- for (int x = int(b1data->mLength) - 1; x >= 0; --x) {
- if (b1data->digits[x] != b2data->digits[x]) {
- answer=((b1data->digits[x] < b2data->digits[x]) ? -1 : 1);
- break;
- }
- }
- }
-
- return answer;
-}
-
-bool operator!(const xint::integer &num1) { return num1.sign()==0; }
-bool operator==(const xint::integer &num1, const xint::integer &num2) { return xint::compare(num1, num2)==0; }
-bool operator!=(const xint::integer& num1, const xint::integer& num2) { return xint::compare(num1, num2)!=0; }
-bool operator<(const xint::integer& num1, const xint::integer& num2) { return xint::compare(num1, num2)<0; }
-bool operator>(const xint::integer& num1, const xint::integer& num2) { return xint::compare(num1, num2)>0; }
-bool operator<=(const xint::integer& num1, const xint::integer& num2) { return xint::compare(num1, num2)<=0; }
-bool operator>=(const xint::integer& num1, const xint::integer& num2) { return xint::compare(num1, num2)>=0; }
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/convert.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/convert.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,192 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the conversion functions. Note that the to<T> function is
- not here, because it's a template function and must be defined in a header
- file.
-
- TODO: the 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
- from_string function.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#include <vector>
-#include <algorithm>
-#include <sstream>
-
-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
-
-std::string to_string(const integer& n, size_t base, bool upperCase) {
- if (n.nan()) return detail::nan_text;
- if (base<2 || base>36) {
- if (exceptions_allowed()) throw invalid_base();
- else return std::string();
- }
-
- if (n.sign()==0) return "0";
-
- std::ostringstream out;
- if (base==16) {
- // Special no-division version, primarily for debugging division
- const data_t *ndata=n._get_data();
- const digit_t *firstDigit=ndata->digits,
- *lastDigit=firstDigit + ndata->mLength - 1;
-
- const int bitsPerDigit=4;
- const digit_t mask=(doubledigit_t(1) << bitsPerDigit)-1;
-
- // Suppress any leading zeros
- const digit_t *d=lastDigit;
- int digitShift=(bits_per_digit - bitsPerDigit);
- while (digitShift >= 0 && ((*d >> digitShift) & mask) == 0)
- digitShift -= bitsPerDigit;
-
- do {
- while (digitShift >= 0) {
- out << nToChar((*d >> digitShift) & mask, upperCase);
- digitShift -= bitsPerDigit;
- }
-
- digitShift=(bits_per_digit - bitsPerDigit);
- } while (d-- != firstDigit);
-
- std::string r(n.sign() < 0 ? std::string("-")+out.str() : out.str());
- return r;
- } else {
- const integer shift=base;
- std::pair<integer, integer> a=std::make_pair(n, integer::zero());
- a.first._set_negative(false);
-
- integer r;
- while (a.first.sign()!=0) {
- a=divide_r(a.first, shift);
- out << nToChar(a.second._get_digit(0), upperCase);
- }
-
- if (n.sign() < 0) out << '-';
-
- std::string rval=out.str();
- std::reverse(rval.begin(), rval.end());
- return rval;
- }
-}
-
-integer from_string(const std::string& str, size_t base) {
- if (str==detail::nan_text) return integer(not_a_number());
-
- bool negate=false;
- const char *c=str.c_str();
- if (*c=='+') ++c;
- else if (*c=='-') { negate=true; ++c; }
-
- if (base==autobase) {
- if (*c=='0') {
- ++c;
- if (*c=='x' || *c=='X') {
- ++c;
- base=16;
- } else base=8;
- } else base=10;
- }
-
- if (base<2 || base>36) {
- if (exceptions_allowed()) throw invalid_base();
- else return integer(not_a_number());
- }
-
- if (*c==0) {
- if (exceptions_allowed()) throw invalid_digit("No valid digits");
- else return integer(not_a_number());
- }
-
- const integer shift(base);
-
- 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 {
- if (exceptions_allowed()) throw invalid_digit("encountered non-alphanumeric character in string");
- else return integer(not_a_number());
- }
-
- if (digit >= base) {
- if (exceptions_allowed()) throw invalid_digit("encountered digit greater than base allows");
- else return integer(not_a_number());
- }
-
- r = (r * shift) + digit;
- ++c;
- }
- r._set_negative(negate);
- return r;
-}
-
-integer from_binary(const std::string& str) {
- const size_t bytesPerDigit=sizeof(digit_t);
- const size_t bitsPerByte=std::numeric_limits<unsigned char>::digits;
-
- integer r;
- detail::data_t *rdata=r._get_data();
- rdata->alloc((str.length() + bytesPerDigit - 1)/bytesPerDigit);
- digit_t *p=rdata->digits;
-
- 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;
- }
- rdata->skipLeadingZeros();
- return r;
-}
-
-std::string to_binary(const integer& n) {
- n._throw_if_nan();
-
- 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 detail::data_t *ndata=n._get_data();
- const digit_t *p=ndata->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());
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/data_t.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/data_t.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,313 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for data_t member functions.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#include <cassert>
-
-namespace xint {
-namespace detail {
-
-data_t::data_t(digit_t initial1, digit_t initial2, digit_t initial3) {
- mLength=1;
- mAllocated=QuickDigits::count;
- digits=mQuickDigits;
- digits[0]=initial1;
- digits[1]=initial2;
- digits[2]=initial3;
- mCopies=0;
- mIsNegative=false;
-}
-
-data_t::data_t(data_t *c) {
- mLength=c->mLength;
- if (c->digits == c->mQuickDigits) {
- digits=mQuickDigits;
- mAllocated=QuickDigits::count;
- } else {
- try {
- mAllocated=mLength;
- #ifdef XINT_SECURE
- digits=new digit_t[mAllocated];
- #else
- mStorage.resize(mAllocated, 0);
- digits=&mStorage[0];
- #endif
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
- }
- memcpy(digits, c->digits, mLength*sizeof(digit_t));
-
- mCopies=0;
- mIsNegative=c->mIsNegative;
-}
-
-#ifdef XINT_SECURE
-data_t::~data_t() {
- zero(mQuickDigits, QuickDigits::count);
- if (digits != mQuickDigits) {
- zero(digits, mAllocated);
- delete[] digits;
- }
-}
-#endif
-
-void data_t::skipLeadingZeros() {
- digit_t *d=digits+mLength-1;
- while (d>digits && *d==0) --d;
- mLength=int((d-digits)+1);
- if (mLength==1 && digits[0]==0) mIsNegative=false; // Zero isn't negative
-}
-
-void data_t::quickset(digit_t d1, digit_t d2, digit_t d3) {
- assert(mCopies==1);
-
- mLength=3;
- digits[0]=d1;
- digits[1]=d2;
- digits[2]=d3;
- mIsNegative=false;
- skipLeadingZeros();
-}
-
-void data_t::alloc(size_t newcount, bool copydigits) {
- if (digits==mQuickDigits && newcount<=QuickDigits::count) {
- if (!copydigits) zero(digits, QuickDigits::count);
- else zero(digits+mLength, (newcount-mLength));
- mLength=newcount;
- } else if (newcount < mAllocated) {
- if (copydigits) {
- if (newcount>mLength) zero(digits+mLength, newcount-mLength);
- mLength=newcount;
- } else {
- mLength=newcount;
- zero(digits, mLength);
- }
- } else {
- #ifdef XINT_SECURE
- int e=newcount;
- newcount=1;
- while (newcount < e) newcount <<= 1;
- #endif
-
- if (digits==mQuickDigits && copydigits) {
- try {
- #ifdef XINT_SECURE
- digits=new digit_t[newcount];
- #else
- mStorage.resize(newcount);
- digits=&mStorage[0];
- #endif
- } catch (std::bad_alloc&) {
- digits=mQuickDigits; // Might allow for recovery in some cases
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
-
- memcpy(digits, mQuickDigits, mLength*sizeof(digit_t));
- zero(digits+mLength, newcount-mLength);
- } else {
- #ifdef XINT_SECURE
- digit_t *newDigits=0;
- try {
- newDigits=new digit_t[newcount];
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
-
- if (copydigits) {
- memcpy(newDigits, digits, mLength*sizeof(digit_t));
- zero(newDigits+mLength, newcount-mLength);
- } else zero(newDigits, newcount);
-
- if (digits!=mQuickDigits) {
- zero(digits, mAllocated);
- delete[] digits;
- }
- digits=newDigits;
- #else
- try {
- mStorage.resize(newcount);
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
- digits=&mStorage[0];
- if (!copydigits) zero(digits, newcount);
- #endif
- }
- mLength=mAllocated=newcount;
- }
-}
-
-void data_t::copy(const data_t *c, size_t extraDigits) {
- alloc(c->mLength+extraDigits);
-
- mLength=c->mLength;
- if (c->mLength==1) *digits = *c->digits;
- else memcpy(digits, c->digits, mLength*sizeof(digit_t));
-
- mIsNegative=c->mIsNegative;
-
- // Deliberately doesn't call skipLeadingZeros().
-}
-
-void data_t::zero(digit_t *p, size_t count) {
- digit_t *pe=p+count;
- while (p<pe) *p++=0;
-}
-
-void data_t::invert() {
- assert(mCopies==1);
-
- mIsNegative=!mIsNegative;
-
- digit_t *d=digits, *e=d+mLength;
- while (d<e) {
- *d=static_cast<digit_t>(digit_overflowbit - 1 - *d);
- ++d;
- }
-
- d=digits;
- while (d<e) {
- doubledigit_t w=(*d)+1;
- (*d++)=static_cast<digit_t>(w);
- if (w<digit_overflowbit) break;
- }
-
- skipLeadingZeros();
-}
-
-void data_t::negate() {
- assert(mCopies==1);
-
- // If it's zero, don't change the sign
- if (mLength>1 || digits[0]!=0) mIsNegative=!mIsNegative;
-}
-
-void data_t::add(const data_t& addend) {
- assert(mCopies==1);
- assert(mLength >= addend.mLength);
-
- // The answer to any addition problem contains, at most, one digit more
- // than the largest addend.
- realloc(mLength+1);
-
- // Now add the digits, starting at the least-significant digit.
- digit_t carry=0;
- size_t x=0;
- for (; x<addend.mLength; ++x) {
- doubledigit_t t=doubledigit_t(digits[x])+addend.digits[x]+carry;
- if (t>=digit_overflowbit) { carry=1; t-=digit_overflowbit; } else carry=0;
- digits[x]=static_cast<digit_t>(t);
- }
-
- while (carry) {
- doubledigit_t t=doubledigit_t(digits[x])+1;
- if (t>=digit_overflowbit) { carry=1; t-=digit_overflowbit; } else carry=0;
- digits[x]=static_cast<digit_t>(t);
- ++x;
- }
-
- skipLeadingZeros();
-}
-
-void data_t::subtract(const data_t& subtrahend) {
- 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<subtrahend.mLength; ++x) {
- t=(digits[x]+digit_overflowbit)-subtrahend.digits[x]-borrow;
- if (t<digit_overflowbit) borrow=1; else { borrow=0; t-=digit_overflowbit; }
- digits[x]=static_cast<digit_t>(t);
- }
-
- for (; x<mLength && borrow; ++x) {
- t=(digits[x]+digit_overflowbit)-borrow;
- if (t<digit_overflowbit) borrow=1; else { borrow=0; t-=digit_overflowbit; }
- digits[x]=static_cast<digit_t>(t);
- }
-
- if (borrow) negate();
- skipLeadingZeros();
-}
-
-void data_t::shift_left(size_t byBits) {
- assert(mCopies==1);
- assert(byBits>0);
-
- size_t bytes=byBits / bits_per_digit, bits=byBits % bits_per_digit;
- size_t oldLength=mLength;
-
- realloc(mLength+bytes+1);
-
- if (bits != 0) {
- // Handle both bits and bytes in one pass
- digit_t *s=digits+oldLength-1, *t=s+bytes+1;
-
- *t-- = *s >> (bits_per_digit - bits);
- while (s > digits) {
- *t = (*s-- << bits);
- *t-- |= (*s >> (bits_per_digit - bits));
- }
- *t = (*s << bits);
-
- if (bytes != 0) memset(digits, 0, sizeof(digit_t) * bytes);
- } else if (bytes != 0) {
- memmove(digits+bytes, digits, sizeof(digit_t) * oldLength);
- memset(digits, 0, sizeof(digit_t) * bytes);
- }
- skipLeadingZeros();
-}
-
-void data_t::shift_right(size_t byBits) {
- assert(mCopies==1);
- assert(byBits>0);
-
- size_t bytes=byBits / bits_per_digit, bits=byBits % bits_per_digit,
- bits2 = bits_per_digit - bits;
-
- if (bytes >= mLength) {
- // Right-shift it into oblivion.
- mLength=1;
- *digits=0;
- } else if (bits != 0) {
- // Handle both bits and bytes in one pass
- digit_t *t=digits, *s=digits+bytes, *se=digits+mLength-1;
- while (s!=se) {
- *t = (*s++ >> bits);
- *t++ |= (*s << bits2);
- }
- *t = (*s >> bits);
- if (bytes != 0) {
- memset(digits+mLength-bytes, 0, sizeof(digit_t) * bytes);
- mLength-=bytes;
- }
- skipLeadingZeros();
- } else if (bytes != 0) {
- memmove(digits, digits + bytes, sizeof(digit_t) * (mLength - bytes));
- memset(digits + mLength - bytes, 0, sizeof(digit_t) * bytes);
- mLength-=bytes;
- skipLeadingZeros();
- }
-}
-
-} // namespace detail
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/exception_blocker.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/exception_blocker.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,67 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file holds definitions for the exception blocker classes and functions.
-*/
-
-#include "../xint.hpp"
-
-#ifdef XINT_THREADSAFE
- #include <boost/thread.hpp>
-#endif
-
-namespace xint {
-namespace {
-
-#ifdef XINT_THREADSAFE
- boost::thread_specific_ptr<bool> allowed;
-
- struct EBlockerToken: public detail::token {
- EBlockerToken(bool newAllowState) {
- if (allowed.get()==0) allowed.reset(new bool(true));
- mOldState=*allowed;
- *allowed=newAllowState;
- }
- ~EBlockerToken() { *allowed=mOldState; }
-
- bool mOldState;
- };
-#else
- bool allowed=true;
-
- struct EBlockerToken: public detail::token {
- EBlockerToken(bool newAllowState): mOldState(allowed) { allowed=newAllowState; }
- ~EBlockerToken() { allowed=mOldState; }
-
- bool mOldState;
- };
-#endif
-
-} // namespace
-
-bool exceptions_allowed() {
- #ifdef XINT_THREADSAFE
- // Defaults to true
- return (allowed.get()==0 || *allowed==true);
- #else
- return allowed;
- #endif
-}
-
-token block_exceptions() {
- return token(new EBlockerToken(false));
-}
-
-token allow_exceptions() {
- return token(new EBlockerToken(true));
-}
-
-} // namespace xint
-

Deleted: sandbox/xint/boost/xint/src/gcd.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/gcd.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,109 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the Greatest Common Denominator function.
-*/
-
-#include "../xint.hpp"
-
-namespace xint {
-
-namespace {
-
-struct gcd_core {
- gcd_core(const integer& n, const integer& m): u1(integer::one()),
- u2(integer::zero()), u3(n)
- {
- integer t1=m, t2=n-integer::one(), t3=m;
- do {
- do {
- if (u3.even()) {
- if (u1.odd() || u2.odd()) { u1+=m; u2+=n; }
- u1 >>= 1;
- u2 >>= 1;
- u3 >>= 1;
- }
-
- 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);
- }
- } while (u3.even());
-
- while (u1 < t1 || u2 < t2) { u1+=m; u2+=n; }
- u1-=t1; u2-=t2; u3-=t3;
- } while (t3 > 0);
-
- while (u1 >= m && u2 >= n) { u1-=m; u2-=n; }
- }
-
- integer u1, u2, u3;
-};
-
-} // namespace
-
-integer gcd(const integer& num1, const integer& num2) {
- num1._throw_if_nan();
- num2._throw_if_nan();
-
- 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 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 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()) {
- if (exceptions_allowed()) throw invalid_modulus();
- else return integer(not_a_number());
- }
-
- int sign=n.sign();
- if (sign==0) {
- return integer(not_a_number());
- } else if (n.sign() < 0) {
- integer _n(n);
- _n._set_negative(false);
-
- integer nn=invmod(_n, m);
- if (nn.nan()) return nn;
-
- nn._set_negative(true);
- return nn + m;
- }
-
- if (n.even() && m.even()) return integer(not_a_number()); // GCD(x,y)!=1, no inverse possible.
-
- gcd_core core(n, m);
-
- if (core.u3 != integer::one()) return integer(not_a_number()); // GCD(x,y)!=1, no inverse possible.
- return core.u1;
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/integer.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/integer.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,226 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for the integer member functions.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#ifdef XINT_THREADSAFE
- #define XINT_DISABLE_COPY_ON_WRITE
-#endif
-
-namespace xint {
-
-const integer *integer::cZero=0, *integer::cOne=0;
-const std::string detail::nan_text("#NaN#");
-
-integer::integer() {
- _init();
-}
-
-integer::integer(const integer& b) {
- if (b.nan()) data=0;
- else _init(b);
-}
-
-integer::integer(const std::string& str, size_t base) {
- _init(from_string(str, base));
-}
-
-integer::integer(const not_a_number&) {
- data=0;
-}
-
-integer::~integer() {
- _detach();
-}
-
-void integer::_init(detail::digit_t init) {
- try {
- data=new detail::data_t(init);
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
- _attach();
-}
-
-void integer::_init(const integer &c) {
- #ifdef XINT_DISABLE_COPY_ON_WRITE
- data=(c.data ? new detail::data_t(c.data) : 0);
- #else
- data=c.data;
- #endif
- _attach();
-}
-
-void integer::_init(boost::uintmax_t n) {
- static int bits=std::numeric_limits<boost::uintmax_t>::digits;
- static int maxDigits=(bits+detail::bits_per_digit-1)/detail::bits_per_digit;
-
- try {
- data=new detail::data_t;
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
- _attach();
-
- data->alloc(maxDigits);
- for (int x=0; n != 0; ++x) {
- data->digits[x]=detail::digit_t(n & detail::digit_mask);
- n >>= detail::bits_per_digit;
- }
- data->skipLeadingZeros();
-}
-
-void integer::_attach() {
- if (data) data->attach();
-}
-
-void integer::_detach() {
- if (data && data->detach()) delete data;
-}
-
-void integer::_make_unique() {
- try {
- if (data && data->mCopies > 1) {
- detail::data_t *newstore=new detail::data_t(data);
- _detach();
- data=newstore;
- _attach();
- }
- } catch (std::bad_alloc&) {
- throw xint::overflow_error("Out of memory allocating xint::integer");
- }
-}
-
-void integer::_set_negative(bool negative) {
- if (negative != (sign() < 0)) *this=negate(*this);
-}
-
-bool integer::odd() const {
- _throw_if_nan();
- return ((_get_digit(0) & 0x01)==1);
-}
-
-bool integer::even() const {
- _throw_if_nan();
- return ((_get_digit(0) & 0x01)==0);
-}
-
-int integer::sign() const {
- _throw_if_nan();
- if (data->mIsNegative) return -1;
- if (_get_length()==1 && _get_digit(0)==0) return 0;
- return 1;
-}
-
-bool integer::nan() const {
- return (data==0);
-}
-
-size_t integer::hex_digits() const {
- _throw_if_nan();
- size_t bits=log2(*this);
- return (bits+3)/4; // Four bits per hex digit, rounded up
-}
-
-integer& integer::operator+=(const integer& addend) {
- if ((sign() < 0) == (addend.sign() < 0)
- && data->mLength >= addend.data->mLength)
- {
- // Fast in-place add
- _make_unique();
- data->add(addend.data);
- } else {
- // This works for all cases
- *this=add(*this, addend);
- }
- return *this;
-}
-
-integer& integer::operator-=(const integer& subtrahend) {
- if (sign() >= 0 && subtrahend.sign() >= 0 && *this >= subtrahend) {
- // Fast in-place subtract
- _make_unique();
- data->subtract(subtrahend.data);
- } else {
- // This works for all cases
- *this=subtract(*this, subtrahend);
- }
- return *this;
-}
-
-integer& integer::operator=(const integer &c) {
- _detach();
- #ifdef XINT_DISABLE_COPY_ON_WRITE
- data=(c.data ? new detail::data_t(c.data) : 0);
- #else
- data=c.data;
- #endif
- _attach();
- 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<<(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<<=(size_t shift) {
- if (shift>0) {
- _make_unique();
- data->shift_left(shift);
- }
- return *this;
-}
-
-integer& integer::operator>>=(size_t shift) {
- if (shift>0) {
- _make_unique();
- data->shift_right(shift);
- }
- return *this;
-}
-
-const integer& integer::zero() {
- if (cZero==0) cZero=new integer(0);
- return *cZero;
-}
-
-const integer& integer::one() {
- if (cOne==0) cOne=new integer(1);
- return *cOne;
-}
-
-detail::digit_t integer::_get_digit(size_t index) const {
- return data->digits[index];
-}
-
-size_t integer::_get_length() const {
- return data->mLength;
-}
-
-void integer::_throw_if_nan() const {
- if (nan()) throw not_a_number();
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/misc.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/misc.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,48 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for functions that don't fall into any
- of the other categories.
-*/
-
-#include "../xint.hpp"
-
-namespace xint {
-
-bool opt_secure_mode() {
- #ifdef XINT_SECURE
- return true;
- #else
- return false;
- #endif
-}
-
-bool opt_thread_safe() {
- #ifdef XINT_THREADSAFE
- return true;
- #else
- return false;
- #endif
-}
-
-size_t log2(const integer& n) {
- n._throw_if_nan();
-
- 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;
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/modular.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/modular.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the basic modular math functions, except invmod, which
- is in gcd.cpp to share gcd_core.
-*/
-
-#include "../xint.hpp"
-#include "../xint_monty.hpp"
-
-namespace xint {
-
-integer mod(const integer& n, const integer& modBy) {
- integer r=divide_r(n, modBy).second;
- if (r.sign() < 0) r+=abs(modBy);
- return r;
-}
-
-integer mulmod(const integer& n, const integer& by, const integer& modulus) {
- return mod(n * by, modulus);
-}
-
-integer sqrmod(const integer& n, const integer& modulus) {
- return mod(sqr(n), modulus);
-}
-
-integer powmod(const integer& n, const integer& exponent, const integer&
- modulus, bool noMontgomery)
-{
- if (modulus < integer::one()) {
- if (exceptions_allowed()) throw invalid_modulus();
- else return integer(not_a_number());
- }
- if (exponent.sign()==0) return integer::one();
-
- bool neg=(n.sign() < 0 && exponent.odd());
-
- integer answer(integer::one());
-
- // Montgomery's method is often noticeably faster, but only works if the
- // modulus is odd.
- if (modulus.odd() && !noMontgomery) {
- answer=montgomeryPowerMod(abs(n) % modulus, abs(exponent), modulus);
- } else {
- integer p(abs(n));
-
- size_t length=exponent._get_length(), lastBitCount=0;
- detail::digit_t ee(exponent._get_digit(length-1));
- while (ee != 0) { ee >>= 1; ++lastBitCount; }
-
- for (size_t eIndex=0; eIndex < length; ++eIndex) {
- detail::digit_t e(exponent._get_digit(eIndex));
-
- int bitCount(int(eIndex == length-1 ? lastBitCount :
- detail::bits_per_digit));
- while (bitCount-- > 0) {
- if (e & 0x01) answer=mulmod(answer, p, modulus);
- p=sqrmod(p, modulus);
- e >>= 1;
- }
- }
- }
-
- answer._set_negative(neg);
- return answer;
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/monty.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/monty.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,268 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for functions based on the Montgomery
- reduction. Used for an extra-fast powerMod.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#include <vector>
-
-namespace xint {
-
-using namespace detail;
-
-digit_t inverse0(const integer& n) {
- // Using the Dussé and Kalisk simplification
- doubledigit_t x = 2, y = 1;
- digit_t n0 = n._get_digit(0);
- for (size_t i = 2; i <= bits_per_digit; ++i, x <<= 1)
- if (x < ((n0 * y) & ((x << 1) - 1)))
- y += x;
- return digit_t(x - y);
-}
-
-integer montgomeryR(const integer& n) {
- return integer::one() << (bits_per_digit * n._get_data()->mLength);
-}
-
-integer toMontgomeryForm(const integer& n, const integer& m) {
- return (n * montgomeryR(m) % m);
-}
-
-integer fromMontgomeryForm(const integer& n, const integer& m) {
- integer inv=invmod(montgomeryR(m), m);
- if (inv.nan()) {
- if (exceptions_allowed()) throw invalid_modulus("modulus has no inverse");
- else return integer(not_a_number());
- }
- return (n * inv % m);
-}
-
-//integer montgomeryReduction(const integer& m, const integer& mPrime, const
-// integer& T)
-//{
-// // Unstated parameter b is digit_overflowbit, a power of 2
-// // Unstated parameter n is m.data->mLength
-// // Unstated parameter R is b^n
-// // gcd(m, b)==1, or in other words, m must be an odd number
-// // m'=-m^(-1) mod b (precalculated)
-// // T is any arbitrary number greater than zero and <= m*R
-//
-// int n=m._get_data()->mLength;
-// doubledigit_t mprime = mPrime._get_data()->digits[0];
-//
-// integer A(T);
-// for (int i=0; i < n; ++i) {
-// integer ui((A._get_data()->digits[i] * mprime) & digit_mask);
-// ui <<= (bits_per_digit * i); // Fast-multiply by b^i
-// A+=(ui*m);
-// }
-// A >>= (bits_per_digit * n); // Fast-divide by b^n
-// if (A >= m) A -= m;
-// return A;
-//}
-
-integer montgomeryMultiplyMod(const integer& a, const integer& b, const integer& n,
- digit_t nPrime0)
-{
- // Using the Dussé and Kalisk simplification
- // Unstated parameter B is a power of two representing the number of values
- // that a single digit can hold, i.e. digit_overflowbit
- // Unstated parameter L is the number of digits in the modulus, i.e.
- // n._get_length()
- // Unstated parameter r is B^L
- // nPrime0 is nPrime mod B, or digit zero of nPrime
-
- const integer B(digit_overflowbit);
- const size_t L(n._get_length()), L1(L-1);
-
- integer t=a*b;
- size_t i=0;
-
- do {
- digit_t mi=digit_t(doubledigit_t(t._get_digit(i))*nPrime0);
- t += (n * mi) << (bits_per_digit * i);
- } while (++i <= L1);
-
- t >>= (bits_per_digit * L); // Fast divide by r
- return (t >= n ? t - n : t);
-}
-
-namespace {
-
-// cMaxK sets the balance between memory/precalculations required and the number
-// of calculations required for an exponentiation. Increasing it can only reduce
-// the calculations by a small amount, whereas it increases the memory
-// requirements and number of precalculations by an exponential amount. 8
-// provides a good balance.
-const size_t cMaxK=8;
-typedef boost::uint_t<cMaxK>::fast kbitdigit_t; // k bits have to fit into it
-typedef std::vector<kbitdigit_t> vkbitdigit_t;
-typedef std::vector<integer> vxint_t;
-#define ddPowerOfTwo(p) (doubledigit_t(1) << p)
-
-// The splitIntoKBitDigits function assumes that cMaxK <= bits_per_digit+1,
-// it won't work properly if it isn't.
-BOOST_STATIC_ASSERT(cMaxK <= bits_per_digit+1);
-
-class TUTable {
- public:
- typedef std::pair<int, int> value_t;
-
- const value_t& operator[](size_t x) const { return mTable[x]; }
-
- static const TUTable& get() {
- // Construct a singleton instance on demand
- if (mPtr==0) mPtr=new TUTable;
- return *mPtr;
- }
-
- private:
- TUTable(): mTable(new value_t[ddPowerOfTwo(cMaxK)]) {
- value_t *p=&mTable[0], *pe=p+ddPowerOfTwo(cMaxK);
- *p++=std::make_pair(0, 0);
- int i=1;
- while (p!=pe) *p++=calculateValues(i++);
- }
- ~TUTable() { delete[] mTable; }
-
- std::pair<int, int> calculateValues(int x) {
- int r=0;
- while (1) {
- if (x & 0x01) return std::make_pair(r, x);
- ++r;
- x >>= 1;
- }
- }
-
- static TUTable *mPtr;
-
- value_t *mTable;
-};
-
-TUTable *TUTable::mPtr=0;
-
-int mostEfficientK(const integer& e) {
- doubledigit_t k=cMaxK, kTarget=log2(e)-1;
- while (k > 1 && ((k - 1) * (k << ((k - 1) << 1))
- / (ddPowerOfTwo(k) - k - 1)) >= kTarget)
- --k;
- return int(k);
-}
-
-vxint_t precalculateOddPowersOfAa(const integer& a, const integer&
- r, const integer& n, size_t k)
-{
- integer aa=a*r%n, aSquared=a*a%n;
-
- vxint_t rval;
- rval.reserve(size_t(ddPowerOfTwo(k)));
- rval.push_back(integer::one()); // Anything to the zeroth power is one
- rval.push_back(aa); // Anything to the first power is itself
-
- for (doubledigit_t i=3, ie=(ddPowerOfTwo(k)); i<ie; i+=2) {
- aa=aa*aSquared%n;
- rval.push_back(integer::zero()); // Even powers not needed or calculated
- rval.push_back(aa); // Odd power
- }
-
- return rval;
-}
-
-vkbitdigit_t splitIntoKBitDigits(const integer& e, size_t k) {
- size_t eBits=log2(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
-
- vkbitdigit_t rval;
- rval.reserve(eDigits);
-
- doubledigit_t hopper=0, mask=(doubledigit_t(1)<<k)-1;
- while (eDigits-- > 0) {
- if (bitsInHopper < k && i < e._get_length()) {
- // Add more bits to the hopper
- hopper = hopper | (doubledigit_t(e._get_digit(i++)) << bitsInHopper);
- bitsInHopper += bits_per_digit;
- }
-
- // Grab k bits off the bottom
- if (bitsInHopper > 0) {
- rval.push_back(kbitdigit_t(hopper & mask));
- hopper >>= k;
- bitsInHopper-=k;
- } else {
- rval.push_back(0);
- }
- }
-
- return rval;
-}
-
-} // namespace
-
-integer montgomeryPowerMod(const integer& a, const integer& e, const integer& n)
-{
- // 0 <= a < n, n is odd
- // Returns a^e mod n
-
- const TUTable &tuTable(TUTable::get());
-
- if (e.sign()==0) return integer::one();
- if (n.even()) {
- if (exceptions_allowed()) throw invalid_modulus("montgomeryPowerMod "
- "requires an odd modulus");
- else return integer(not_a_number());
- }
-
- // Precalculate some values
- const size_t k(mostEfficientK(e));
- const integer r(montgomeryR(n));
- const digit_t nPrime0(inverse0(n));
- const vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
-
- // Slice the exponent (e) up into k-bit digits
- vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
-
- integer pp;
-
- kbitdigit_t i=eDigits.back();
- eDigits.pop_back();
- if (i == 0) {
- pp=r%n;
- } else {
- std::pair<int, int> tu=tuTable[i];
- pp=oddPowersOfAa[tu.second];
- while (tu.first-- > 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
- }
-
- while (!eDigits.empty()) {
- i=eDigits.back();
- eDigits.pop_back();
-
- if (i == 0) {
- int t=int(k);
- while (t-- > 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
- } else {
- std::pair<int, int> tu=tuTable[i];
-
- size_t s=k-tu.first;
- while (s-- > 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
-
- pp=montgomeryMultiplyMod(pp, oddPowersOfAa[tu.second], n, nPrime0);
-
- while (tu.first-- > 0) pp=montgomeryMultiplyMod(pp, pp, n, nPrime0);
- }
- }
-
- return montgomeryMultiplyMod(pp, integer::one(), n, nPrime0);
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/operators.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/operators.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,29 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for the basic math operators.
-*/
-
-#include "../xint.hpp"
-
-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); }
-integer operator*(const integer& num1, const integer& num2) { return multiply(num1, num2); }
-integer operator/(const integer& num1, const integer& num2) { return divide(num1, num2); }
-integer operator%(const integer& num1, const integer& num2) { return mod(num1, num2); }
-integer operator&(const integer& n1, const integer& n2) { return bitwise_and(n1, n2); }
-integer operator|(const integer& n1, const integer& n2) { return bitwise_or(n1, n2); }
-integer operator^(const integer& n1, const integer& n2) { return bitwise_xor(n1, n2); }
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/powers.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/powers.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,123 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for functions related to powers of a
- number.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#include <vector>
-
-namespace xint {
-
-using namespace detail;
-
-namespace {
-
- 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;
- }
-
-} // namespace
-
-integer pow2(size_t exponent) {
- integer r;
- setbit(r, exponent);
- return r;
-}
-
-integer sqr(const integer& n) {
- n._throw_if_nan();
-
- const data_t *ndata=n._get_data();
- std::vector<doubledigit_t> a(ndata->mLength*2+1, 0);
- doubledigit_t *adigit=&a[0];
-
- size_t i, j;
- integer addend;
- data_t *addenddata=addend._get_data();
- addenddata->alloc(ndata->mLength*2+1);
-
- digit_t *ndigitip=ndata->digits;
- for (i=0; i<ndata->mLength; ++i, ++ndigitip) {
- digit_t ndigiti=*ndigitip;
- doubledigit_t t=(doubledigit_t(ndigiti) * ndigiti);
- if (addOverflow(adigit[2*i], t)) ++addenddata->digits[2*i+2];
-
- for (j=i+1; j<ndata->mLength; ++j) {
- doubledigit_t t=(doubledigit_t(ndata->digits[j]) * ndigiti);
- if (t & doubledigit_hibit) ++addenddata->digits[i+j+2];
- t<<=1;
- if (addOverflow(adigit[i+j], t)) ++addenddata->digits[i+j+2];
- }
- }
-
- integer answer;
- data_t *answerdata=answer._get_data();
- answerdata->alloc(ndata->mLength*2+1);
-
- doubledigit_t carry=0;
- for (i=0, j=ndata->mLength*2+1; i<j; ++i) {
- if (addOverflow(carry, adigit[i])) ++addenddata->digits[i+2];
- answerdata->digits[i]=digit_t(carry);
- carry>>=bits_per_digit;
- }
-
- answerdata->skipLeadingZeros();
- addenddata->skipLeadingZeros();
- answer+=addend;
-
- return answer;
-}
-
-integer pow(const integer& n, const integer& exponent) {
- bool neg=(n.sign() < 0 && exponent.odd());
-
- size_t length=exponent._get_length(), lastBitCount=0;
- digit_t ee(exponent._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 e(exponent._get_digit(eIndex));
-
- int bitCount(int(eIndex == length-1 ? lastBitCount : bits_per_digit));
- while (bitCount-- > 0) {
- if (e & 0x01) answer*=p;
- p=sqr(p);
- e >>= 1;
- }
- }
-
- answer._set_negative(neg);
- return answer;
-}
-
-integer factorial(size_t n) {
- integer r(integer::one());
- if (n == (std::numeric_limits<size_t>::max)()) {
- // It's highly unlikely that the system will be able to calculate this,
- // or that anyone might want to, but someday it will be possible. This
- // code keeps the function from going into an infinite loop if/when that
- // happens.
- r=(std::numeric_limits<size_t>::max)();
- --n;
- }
- for (size_t i=2; i<=n; ++i) r*=i;
- return r;
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/primes.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/primes.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,113 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for functions related to prime numbers.
-*/
-
-#include "../xint.hpp"
-
-#include <vector>
-
-namespace xint {
-
-namespace {
-
-std::vector<int> sieveOfEratosthenes(int upTo) {
- std::vector<int> sieve;
- sieve.reserve(upTo);
-
- // Zero and one aren't prime, by this definition.
- sieve.push_back(0);
- sieve.push_back(0);
-
- for (int p=2; p<upTo; ++p) sieve.push_back(p);
-
- std::vector<int> ret;
-
- int *p=&sieve[0], *e=p+upTo;
- while (p<e) {
- if (*p==0) { ++p; continue; }
- ret.push_back(*p);
-
- int *p2=p+(*p);
- while (p2<e) { *p2=0; p2+=*p; }
-
- ++p;
- }
-
- return ret;
-}
-
-// The Miller-Rabin Probabilistic Test of Primality
-int isProbablePrimeBaseB(const integer& n, const integer &b, callback_t
- callback)
-{
- const integer nMinus1(n - integer::one());
-
- // Find r and a satisfying: n-1=2^a * r, r odd
- integer r=nMinus1;
- unsigned long a=0;
- while (r.even()) { r >>= 1; ++a; }
-
- // We check the congruence class of b^((2^i)r) % n for each i
- // from 0 to a - 1. If any one is correct, then n passes.
- // Otherwise, n fails.
- integer test=powmod(b, r, n);
- if (test==integer::one() || test==nMinus1) return 1; // Better than 3/4 chance it's prime
-
- while (a-->0) {
- test=sqrmod(test, n);
- if (test==nMinus1) return 1;
- }
-
- if (callback && !callback()) return -1;
- return 0;
-}
-
-} // namespace
-
-int is_prime(const integer& n, callback_t callback) {
- if (n < 2) {
- if (exceptions_allowed()) throw std::invalid_argument("xint::is_prime cannot test numbers below 2");
- else return -1;
- }
-
- // First we trial-divide it by the primes below 2000
- static const std::vector<int> cLowPrimes(sieveOfEratosthenes(2000));
- std::vector<int>::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
- for (; i!=ie; ++i) if ((n % *i)==0) return (n==*i);
-
- // Run the number through the Miller-Rabin Probabilistic Test of Primality
- // a few times to see if it's actually (probably) prime.
- for (int count=0; count<5; ++count) {
- unsigned int k=detail::get_random();
- int isP=isProbablePrimeBaseB(n, abs(k), callback);
- if (isP <= 0) return isP;
- }
- return 1; // Appears to be prime!
-}
-
-integer random_prime(size_t sizeInBits, callback_t callback) {
- // Call the callback for the first time
- if (callback && !callback()) return integer(not_a_number());
-
- integer pe=pow2(sizeInBits+1);
- while (1) {
- integer p(random_by_size(sizeInBits, true, true));
- while (p < pe) {
- int r=is_prime(p, callback);
- if (r < 0) return integer(not_a_number());
- if (r == 1) return p;
- p+=2;
- }
- }
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/primitives.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/primitives.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,270 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for math primitives.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-#include <cassert>
-
-namespace xint {
-
-using namespace detail;
-
-integer abs(const integer& n) {
- return (n < 0 ? -n : n);
-}
-
-integer negate(const integer& _n) {
- _n._throw_if_nan();
-
- integer n(_n);
- n._make_unique();
- n._get_data()->negate();
- return n;
-}
-
-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 {
- const data_t *n1data=n1._get_data(), *n2data=n2._get_data();
- if (n1data->mLength < n2data->mLength) std::swap(n1data, n2data);
-
- integer r;
- data_t *rdata=r._get_data();
- rdata->copy(n1data, 1);
- rdata->add(*n2data);
- return r;
- }
-}
-
-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 invert=(sign1 == (n1 < n2 ? 1 : -1));
- const data_t *n1data=n1._get_data(), *n2data=n2._get_data();
- if (invert) std::swap(n1data, n2data);
-
- integer r;
- data_t *rdata=r._get_data();
- rdata->copy(n1data);
- rdata->subtract(*n2data);
- return (invert ? -r : r);
- }
-}
-
-integer multiply(const integer& n, const integer& by) {
- int nsign=n.sign(), bysign=by.sign();
- if (nsign==0 || bysign==0) return integer::zero();
-
- const data_t *ndata=n._get_data(), *bydata=by._get_data();
- if (ndata == bydata) return sqr(n);
-
- // In multiplication, we know that the answer will be less than or equal to
- // the sum of the lengths of the operands.
- integer answer;
- data_t *answerdata=answer._get_data();
- answerdata->alloc(ndata->mLength + bydata->mLength);
-
- // Now multiply the digits, starting at the least-significant digit.
- const digit_t *d1 = ndata->digits, *d1e = d1 + ndata->mLength;
- const digit_t *d2e = bydata->digits + bydata->mLength;
- for (int digit1=0; d1<d1e; ++digit1, ++d1) {
- const digit_t *d2=bydata->digits;
- 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 = answerdata->digits + 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) {
- addt=*a+1;
- *a++ = static_cast<digit_t>(addt);
- if (addt < digit_overflowbit) break;
- }
- }
- }
-
- answer._set_negative(nsign != bysign);
- answer._get_data()->skipLeadingZeros();
- return answer;
-}
-
-namespace {
-
-std::pair<integer, integer> divideBySingleDigit(const integer& d1, digit_t d2) {
- const data_t *d1data=d1._get_data();
-
- integer quotient, remainder;
- data_t *qdata=quotient._get_data(), *rdata=remainder._get_data();
- qdata->alloc(d1data->mLength);
- rdata->alloc(1);
-
- doubledigit_t a=0;
- const doubledigit_t lomask(digit_mask);
- const doubledigit_t himask(doubledigit_t(digit_mask) << bits_per_digit);
-
- int m = int(d1data->mLength) - 1;
- const digit_t *d1p=d1data->digits+m;
- digit_t *qp=qdata->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);
- }
- rdata->digits[0] = static_cast<digit_t>((a & himask) >>
- bits_per_digit);
-
- qdata->skipLeadingZeros();
- rdata->skipLeadingZeros();
- return std::make_pair(quotient, remainder);
-}
-
-std::pair<integer, integer> subDivide(integer d1, integer d2) {
- const data_t *ndata=d1._get_data(), *bydata=d2._get_data();
- const digit_t *nDigits = ndata->digits, *byDigits = bydata->digits;
- size_t nMSD = ndata->mLength-1, byMSD = bydata->mLength-1;
-
- // The normalization step
- digit_t d = static_cast<digit_t>(digit_overflowbit /
- (doubledigit_t(byDigits[byMSD])+1));
- if (d > 1) {
- d1 *= d;
- d2 *= d;
-
- // Gotta reset these
- ndata = d1._get_data();
- bydata = d2._get_data();
- nDigits = ndata->digits;
- byDigits = bydata->digits;
- nMSD = ndata->mLength-1;
- byMSD = bydata->mLength-1;
-
- }
- assert(byDigits[byMSD] >= digit_overflowbit / 2);
-
- // We have to figure out which digit is going to be the first one. We'll do
- // that by cutting the least-significant digits of the dividend until it
- // has the same number of digits as the divisor; if what remains is greater
- // than the divisor, then we start there, otherwise that one's zero and we
- // start on the next lower one.
- size_t highestQuotientDigit=(nMSD - byMSD);
- integer nTest(d1);
- nTest -= integer::one();
- nTest >>= (bits_per_digit * highestQuotientDigit);
- if (nTest < d2) --highestQuotientDigit;
-
- integer quotient, w;
- data_t *qdata=quotient._get_data();
- qdata->alloc(highestQuotientDigit + 1);
-
- for (int j = int(highestQuotientDigit); j >= 0; --j) {
- doubledigit_t q = (nDigits[nMSD] > byDigits[byMSD] ?
- doubledigit_t(nDigits[nMSD]) / byDigits[byMSD] :
- ((doubledigit_t(nDigits[nMSD]) << bits_per_digit) +
- nDigits[nMSD-1]) / byDigits[byMSD]);
-
- digit_t loopcount=0;
- while (1) {
- w=(d2 * q);
- w <<= (bits_per_digit * j);
-
- w = d1 - w;
- if (w.sign() < 0) {
- --q;
-
- // Our estimate should only be off by a maximum of two, so this
- // while loop should only run twice each time, at most.
- assert(++loopcount <= 2);
- } else break;
- }
-
- qdata->digits[j] = static_cast<digit_t>(q);
- if (w < d2) break;
-
- d1 = w;
- ndata=d1._get_data();
- nDigits = ndata->digits;
- nMSD = ndata->mLength-1;
- }
-
- if (d > 1) {
- // Denormalization step. This requires a division by a single digit_t.
- integer remainder=divideBySingleDigit(w, d).first;
- return std::make_pair(quotient, remainder);
- } else {
- return std::make_pair(quotient, w);
- }
-}
-
-} // namespace
-
-integer divide(const integer& dividend, const integer& divisor) {
- return divide_r(dividend, divisor).first;
-}
-
-std::pair<integer, integer> divide_r(const integer& d1, const
- integer& d2)
-{
- int sign1=d1.sign(), sign2=d2.sign();
- if (sign2==0) {
- if (exceptions_allowed()) throw divide_by_zero();
- else return std::make_pair(integer(not_a_number()), integer(not_a_number()));
- }
-
- 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_data()->mLength == 1) {
- return divideBySingleDigit(d1, d2._get_data()->digits[0]);
- } else {
- return subDivide(d1, d2);
- }
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/random.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/random.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,213 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the random number functions.
-*/
-
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
-
-#include <vector>
-#include <sstream>
-#include <fstream>
-#include <ctime>
-#include <boost/random/mersenne_twister.hpp>
-
-#ifdef XINT_THREADSAFE
- #include <boost/thread.hpp>
-#endif
-
-#ifdef _WIN32
- #define STRICT
- #define WIN32_LEAN_AND_MEAN
- #define NOMINMAX
- #include <windows.h>
- #include <TCHAR.h>
-#endif
-
-namespace xint {
-
-using namespace detail;
-
-namespace {
-
-class generator_t {
- public:
- typedef base_random_generator::result_type result_type;
- typedef boost::mt19937 default_random_t;
-
- #ifdef XINT_THREADSAFE
- generator_t() { mLock.lock(); init(); }
- ~generator_t() { mLock.unlock(); }
- #else
- generator_t() { init(); }
- #endif
-
- result_type operator()() { return mGeneratorFn(); }
-
- static void set_generator(random_t g, base_random_generator *p) {
- mGeneratorObj.reset(p);
- mGeneratorFn=g;
- }
-
- private:
- void init() {
- if (!mGeneratorFn) {
- typedef default_random_t T;
- mDefaultGenerator.reset(new T(boost::uint32_t(time(0)+clock())));
- random_generator<T> *obj=new random_generator<T>(*mDefaultGenerator);
- set_generator(*obj, obj);
- }
- }
-
- static random_t mGeneratorFn;
- static std::auto_ptr<base_random_generator> mGeneratorObj;
- static std::auto_ptr<default_random_t> mDefaultGenerator;
-
- #ifdef XINT_THREADSAFE
- static boost::mutex mLock;
- #endif
-};
-
-std::auto_ptr<base_random_generator> generator_t::mGeneratorObj;
-std::auto_ptr<generator_t::default_random_t> generator_t::mDefaultGenerator;
-random_t generator_t::mGeneratorFn;
-
-#ifdef XINT_THREADSAFE
- boost::mutex generator_t::mLock;
-#endif
-
-} // namespace
-
-namespace detail {
-
-void set_random_generator(random_t fn, base_random_generator *obj) {
- generator_t::set_generator(fn, obj);
-}
-
-unsigned int get_random() {
- generator_t gen;
- return gen();
-}
-
-} // namespace detail
-
-////////////////////////////////////////////////////////////////////////////////
-// The secure random generator
-
-#ifdef _WIN32
- struct strong_random_generator::impl_t {
- typedef BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
- typedef DWORD result_type;
-
- impl_t(): dll(0), fn(0) {
- // This should work under WinXP, Vista, and Win7. No guarantees about
- // future compatibility, but I doubt that Microsoft will get rid of it
- // (it's too useful), and I doubt that they'll change it now that it's
- // well-known (it would break too many programs). We could also use the
- // rand_s function in more recent versions of Visual C++, but that
- // causes compatibility problems with older versions of Windows.
- dll=LoadLibrary(_T("Advapi32.dll"));
- if (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, "SystemFunction036"));
- if (fn == 0) {
- destroy();
- throw no_strong_random();
- }
- }
-
- ~impl_t() { destroy(); }
-
- result_type operator()() {
- result_type r=0;
- if (!fn(&r, sizeof(result_type)))
- throw no_strong_random("RtlGenRandom failed");
- return r;
- }
-
- void destroy() { if (dll) FreeLibrary(dll); }
-
- HMODULE dll;
- RtlGenRandomFn fn;
- };
-
- double strong_random_generator::entropy() const { return 32; }
-#else
- struct strong_random_generator::impl_t {
- typedef unsigned char result_type;
-
- impl_t(): rng("/dev/urandom", std::ios::binary) {
- // This should be supported under most non-Windows systems. Note
- // that we're using /dev/urandom, not /dev/random -- /dev/random is
- // more secure, but it can be VERY slow.
- if (!rng) throw no_strong_random();
- }
-
- result_type operator()() {
- int r=rng.get();
- if (r==EOF) throw no_strong_random("/dev/urandom returned EOF");
- return static_cast<result_type>(r);
- }
-
- std::ifstream rng;
- };
-
- double strong_random_generator::entropy() const { return 8; }
-#endif
-
-const bool strong_random_generator::has_fixed_range = true;
-const strong_random_generator::result_type strong_random_generator::min_value =
- (std::numeric_limits<impl_t::result_type>::min)();
-const strong_random_generator::result_type strong_random_generator::max_value =
- (std::numeric_limits<impl_t::result_type>::max)();
-strong_random_generator::strong_random_generator(): impl(new impl_t) { }
-strong_random_generator::~strong_random_generator() { delete impl; }
-strong_random_generator::result_type strong_random_generator::operator()() {
- return (*impl)(); }
-strong_random_generator::result_type strong_random_generator::min
- BOOST_PREVENT_MACRO_SUBSTITUTION () const { return min_value; }
-strong_random_generator::result_type strong_random_generator::max
- BOOST_PREVENT_MACRO_SUBSTITUTION () const { return max_value; }
-
-////////////////////////////////////////////////////////////////////////////////
-// Returns a positive (unless told otherwise) integer between zero and
-// (1<<bits)-1, inclusive
-integer random_by_size(size_t bits, bool highBitOn, bool lowBitOn, bool
- canBeNegative)
-{
- if (bits<=0) return integer::zero();
-
- 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));
-
- // 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_data()->digits[index] &= mask;
- for (digit_t *i=p._get_data()->digits+index+1,
- *ie=p._get_data()->digits+p._get_data()->mLength; i<ie; ++i) *i=0;
- p._get_data()->skipLeadingZeros();
-
- if (highBitOn) setbit(p, bits-1);
- if (lowBitOn) setbit(p, 0);
- if (canBeNegative) p._set_negative(randomGenerator() & 0x01);
-
- return p;
-}
-
-} // namespace xint

Deleted: sandbox/xint/boost/xint/src/roots.cpp
==============================================================================
--- sandbox/xint/boost/xint/src/roots.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,41 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- This file contains the definitions for functions related to roots of a
- number.
-*/
-
-#include "../xint.hpp"
-
-namespace xint {
-
-integer sqrt(const integer& n) {
- if (n.sign() < 0) {
- if (exceptions_allowed()) throw cannot_represent("library cannot "
- "represent imaginary values (tried to take sqrt of negative "
- "number)");
- else return integer(not_a_number());
- } else 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;
-}
-
-} // namespace xint

Modified: sandbox/xint/boost/xint/xint.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint.hpp (original)
+++ sandbox/xint/boost/xint/xint.hpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -82,22 +82,22 @@
 
     struct base_random_generator {
         typedef unsigned int result_type;
+ virtual result_type operator()()=0;
     };
 
     template <class T>
     struct random_generator: public base_random_generator {
         typedef boost::uniform_int<result_type> dist_t;
         typedef boost::variate_generator<T&, dist_t> gen_t;
- random_generator(T& g): gen(g,
+ random_generator(T *g): genobj(g), gen(*g,
             dist_t((std::numeric_limits<result_type>::min)(),
                 (std::numeric_limits<result_type>::max)())) { }
- unsigned int operator()() { return gen(); }
+ result_type operator()() { return gen(); }
+ std::auto_ptr<T> genobj;
         gen_t gen;
     };
 
- typedef boost::function<unsigned int ()> random_t;
-
- void set_random_generator(random_t fn, base_random_generator *obj);
+ void set_random_generator(base_random_generator *obj);
     unsigned int get_random();
 } // namespace detail
 
@@ -168,6 +168,7 @@
     detail::data_t *_get_data() { return data; }
     const detail::data_t *_get_data() const { return data; }
     detail::digit_t _get_digit(size_t index) const;
+ detail::digit_t _get_digit(size_t index, bool) const;
     size_t _get_length() const;
     void _set_negative(bool negative);
     void _make_unique();
@@ -180,8 +181,6 @@
     void _attach();
     void _detach();
 
- static const integer *cZero, *cOne;
-
     detail::data_t *data;
 };
 
@@ -283,7 +282,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 // Random number functions
 
-template <typename T> void set_random_generator(T &gen);
+template <typename T> void set_random_generator(T *gen);
 integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
     lowBitOn=false, bool canBeNegative=false);
 
@@ -421,9 +420,9 @@
 }
 
 template <typename T>
-void set_random_generator(T &gen) {
+void set_random_generator(T *gen) {
     detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
- detail::set_random_generator(*obj, obj);
+ detail::set_random_generator(obj);
 }
 
 template <typename charT, typename traits>

Copied: sandbox/xint/doc/doxygen/Doxyfile.txt (from r61045, /sandbox/xint/libs/xint/doc/doxygen/Doxyfile.txt)
==============================================================================

Copied: sandbox/xint/doc/doxygen/blurbs.css (from r61045, /sandbox/xint/libs/xint/doc/doxygen/blurbs.css)
==============================================================================

Copied: sandbox/xint/doc/doxygen/doxywarn.log (from r61045, /sandbox/xint/libs/xint/doc/doxygen/doxywarn.log)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/annotated.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/annotated.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/bit__manipulations_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classes.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classes.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1integer-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1integer.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__base.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__digit.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1not__a__number.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1too__big-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/classxint_1_1too__big.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/compare_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/compare_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/convert_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/convert_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/data__t_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/data__t_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/doxygen.png (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/doxygen.png)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/html/exception__blocker_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/exception__blocker_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/files.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/files.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/functions.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/functions_func.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/functions_vars.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/gcd_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/gcd_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/globals.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/globals_defs.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/globals_func.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/globals_vars.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/index.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/index.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/integer_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/integer_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/misc_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/misc_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/modular_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/modular_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/monty_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/monty_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/my_doxygen.css (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/my_doxygen.css)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacedetail.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacedetail_1_1xint.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail_1_1xint.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacemembers.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacemembers_func.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacemembers_type.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacemembers_vars.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespaces.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacexint.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/namespacexint_1_1detail.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/operators_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/operators_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/powers_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/powers_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/primes_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/primes_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/primitives_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/primitives_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/random_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/random_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/roots_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/roots_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/tab_b.gif (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_b.gif)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/html/tab_l.gif (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_l.gif)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/html/tab_r.gif (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tab_r.gif)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/html/tabs.css (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/tabs.css)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint_8hpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint_8hpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__data__t_8hpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__data__t_8hpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__fibonacci_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__monty_8hpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__monty_8hpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__simple_8cpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__simple_8cpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__test_8hpp.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/html/xint__test_8hpp_source.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/images/Written_for_Boost.png (from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/Written_for_Boost.png)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/images/boost_in_mind.png (from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/boost_in_mind.png)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/images/draft.png (from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/draft.png)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/images/proposed_boost.png (from r61045, /sandbox/xint/libs/xint/doc/doxygen/images/proposed_boost.png)
==============================================================================
Binary files. No diff available.

Copied: sandbox/xint/doc/doxygen/tabs.css (from r61045, /sandbox/xint/libs/xint/doc/doxygen/tabs.css)
==============================================================================

Copied: sandbox/xint/doc/doxygen/xint_doxygen.css (from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen.css)
==============================================================================

Copied: sandbox/xint/doc/doxygen/xint_doxygen_footer.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_footer.html)
==============================================================================

Copied: sandbox/xint/doc/doxygen/xint_doxygen_header.html (from r61045, /sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_header.html)
==============================================================================

Copied: sandbox/xint/doc/xint.qbk (from r61045, /sandbox/xint/libs/xint/doc/xint.qbk)
==============================================================================

Copied: sandbox/xint/example/xint_fibonacci.cpp (from r61045, /sandbox/xint/libs/xint/example/xint_fibonacci.cpp)
==============================================================================

Copied: sandbox/xint/example/xint_simple.cpp (from r61045, /sandbox/xint/libs/xint/example/xint_simple.cpp)
==============================================================================

Deleted: sandbox/xint/libs/xint/doc/doxygen/Doxyfile.txt
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/Doxyfile.txt 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,1574 +0,0 @@
-# Doxyfile 1.6.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = "xInt eXtended Integer Library"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = .
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF = "The $name class" \
- "The $name widget" \
- "The $name file" \
- is \
- provides \
- specifies \
- contains \
- represents \
- a \
- an \
- the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH = C:/Windows/system32/
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 2
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set
-# FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# 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
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = NO
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= NO
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page. This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE = doxywarn.log
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = ../../../../boost/xint \
- ../../example
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS = *.c \
- *.cpp \
- *.ipp \
- *.hpp
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code. Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER = xint_doxygen_header.html
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER = xint_doxygen_footer.html
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET = xint_doxygen.css
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP = NO
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# Qt Help Project / Custom Filters.
-
-QHP_CUST_FILTER_ATTRS =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# Qt Help Project / Filter Attributes.
-
-QHP_SECT_FILTER_ATTRS =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-# will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE = 10
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvances is that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS = NO
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH = 1000
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES

Deleted: sandbox/xint/libs/xint/doc/doxygen/blurbs.css
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/blurbs.css 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,113 +0,0 @@
-/*=============================================================================
-
- Boostbook Green Style
-
- Copyright (c) 2006-2007 Matias Capeletto
-
- Use, modification and distribution is subject to 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)
-
- Acknowledgments:
- This css is based on ideas from stylesheets from Joel De Guzman and
- Rene Rivera.
-
-=============================================================================*/
-
-
-
-/*----------------------------------------------------------------------------
- Table
------------------------------------------------------------------------------*/
-
-
-
-
- .note,
- .tip,
- .important,
- .caution,
- .warning,
- .sidebar
- {
- font-size: 10pt;
- line-height: 1.2;
- display: block;
- margin: 1pc 4% 0pc 4%;
- }
-
- .sidebar .box-inner-wrapper
- {
- padding-left: 28px;
- }
-
- .sidebar .box-inner-wrapper img
- {
- padding: 1pt;
- }
-
- .admonition-body
- {
- padding-left: 50px;
- }
-
- .admonition-graphic
- {
- float: left;
- display: inline;
- padding-top: 5px;
- }
-
- .admonition-title
- {
- font-weight: bold;
- }
-
- .admonition-content
- {
-
- }
-
- .admonition-icon
- {
- border: none;
- }
-
- .note-icon { background: url(images/admonitions/note.png)
- no-repeat center;
- height: 30px; width: 30px; }
-
- .warning-icon { background: url(images/admonitions/warning.png)
- no-repeat center;
- height: 30px; width: 30px; }
-
- .caution-icon { background: url(images/admonitions/caution.png)
- no-repeat center;
- height: 30px; width: 30px; }
-
- .tip-icon { background: url(images/admonitions/tip.png)
- no-repeat center;
- height: 30px; width: 30px; }
-
- .important-icon { background: url(images/admonitions/important.png)
- no-repeat center;
- height: 30px; width: 30px; }
-
-
- /* --- IE6 patch using the star hack --- */
-
- * html body .note-icon { background: url(images/admonitions/solid/note.png)
- no-repeat center; }
-
- * html body .warning-icon { background: url(images/admonitions/solid/warning.png)
- no-repeat center; }
-
- * html body .caution-icon { background: url(images/admonitions/solid/caution.png)
- no-repeat center; }
-
- * html body .tip-icon { background: url(images/admonitions/solid/tip.png)
- no-repeat center; }
-
- * html body .important-icon { background: url(images/admonitions/solid/important.png)
- no-repeat center; }
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/doxywarn.log
==============================================================================

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/annotated.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/annotated.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,108 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="current">Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</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="structxint_1_1detail_1_1base__random__generator.html">xint::detail::base_random_generator</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html">xint::strong_random_generator::impl_t</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1no__strong__random.html">xint::no_strong_random</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1overflow__error.html">xint::overflow_error</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1random__generator.html">xint::detail::random_generator&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1strong__random__generator.html">xint::strong_random_generator</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1token.html">xint::detail::token</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classxint_1_1too__big.html">xint::too_big</a></td><td class="indexvalue"></td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,121 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/bit_manipulations.cpp File Reference</h1><code>#include &quot;<a class="el" href="bit__manipulations_8cpp_source.html">../xint.hpp</a>&quot;</code><br/>
-<code>#include &lt;string&gt;</code><br/>
-<code>#include &lt;limits&gt;</code><br/>
-<code>#include &lt;memory&gt;</code><br/>
-<code>#include &lt;cstddef&gt;</code><br/>
-<code>#include &lt;iostream&gt;</code><br/>
-<code>#include &lt;stdexcept&gt;</code><br/>
-<code>#include &lt;boost/integer.hpp&gt;</code><br/>
-<code>#include &lt;boost/cstdint.hpp&gt;</code><br/>
-<code>#include &lt;boost/function.hpp&gt;</code><br/>
-<code>#include &lt;boost/type_traits.hpp&gt;</code><br/>
-<code>#include &lt;boost/static_assert.hpp&gt;</code><br/>
-<code>#include &lt;boost/random/uniform_int.hpp&gt;</code><br/>
-<code>#include &lt;boost/random/variate_generator.hpp&gt;</code><br/>
-<code>#include &lt;vector&gt;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint::setbit</a> (integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">xint::lowestbit</a> (const integer &amp;n, size_t defaultValue)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">xint::highestbit</a> (const integer &amp;n, size_t defaultValue)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">xint::shift</a> (const integer &amp;n, int byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">xint::shift_left</a> (const integer &amp;_n, size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">xint::shift_right</a> (const integer &amp;_n, size_t byBits)</td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,255 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the bit-manipulation functions.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a><a class="code" href="namespacexint.html">00017</a> <span class="keyword">namespace </span>xint {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">using namespace </span>detail;
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">getbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00022"></a>00022 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00023"></a>00023 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00024"></a>00024 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()) {
-<a name="l00025"></a>00025 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
-<a name="l00026"></a>00026 <span class="keywordflow">return</span> ((n.<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(index) &amp; mask) != 0);
-<a name="l00027"></a>00027 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00028"></a>00028 }
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00031"></a>00031 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00032"></a>00032 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00033"></a>00033 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *ndata=n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()) ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(index+1);
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
-<a name="l00039"></a>00039 ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index] |= mask;
-<a name="l00040"></a>00040 ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">clearbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00044"></a>00044 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00045"></a>00045 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00046"></a>00046 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()) {
-<a name="l00047"></a>00047 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00048"></a>00048 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
-<a name="l00049"></a>00049 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index] &amp;= ~mask;
-<a name="l00050"></a>00050 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> defaultValue) {
-<a name="l00055"></a>00055 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0) <span class="keywordflow">return</span> defaultValue;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *ndata=n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00058"></a>00058 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00059"></a>00059 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keywordtype">size_t</span> index=(p - ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>);
-<a name="l00062"></a>00062 <span class="keywordtype">size_t</span> r=(<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * index);
-<a name="l00063"></a>00063 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> digit=*p;
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
-<a name="l00066"></a>00066 digit&gt;&gt;=1;
-<a name="l00067"></a>00067 ++r;
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> r;
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> defaultValue) {
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0) <span class="keywordflow">return</span> defaultValue;
-<a name="l00075"></a>00075 <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="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(n)-1);
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2) {
-<a name="l00079"></a>00079 n1.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00080"></a>00080 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <a class="code" href="classxint_1_1integer.html">integer</a> r;
-<a name="l00086"></a>00086 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00087"></a>00087 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, *s2=larger-&gt;digits;
-<a name="l00090"></a>00090 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00095"></a>00095 <span class="keywordflow">return</span> r;
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2) {
-<a name="l00099"></a>00099 n1.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00100"></a>00100 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00103"></a>00103 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <a class="code" href="classxint_1_1integer.html">integer</a> r;
-<a name="l00106"></a>00106 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00107"></a>00107 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(larger-&gt;mLength);
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00110"></a>00110 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00111"></a>00111 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ | *s2++;
-<a name="l00114"></a>00114 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00117"></a>00117 <span class="keywordflow">return</span> r;
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2) {
-<a name="l00121"></a>00121 n1.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00122"></a>00122 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html">integer</a> r;
-<a name="l00128"></a>00128 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00129"></a>00129 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(larger-&gt;mLength);
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00132"></a>00132 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00133"></a>00133 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
-<a name="l00136"></a>00136 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<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 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00143"></a>00143 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(n, byBits);
-<a name="l00144"></a>00144 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(n, -byBits);
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; _n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00148"></a>00148 _n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> _n;
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <a class="code" href="classxint_1_1integer.html">integer</a> n(_n);
-<a name="l00153"></a>00153 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00154"></a>00154 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(byBits);
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> n;
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; _n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00159"></a>00159 _n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> _n;
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <a class="code" href="classxint_1_1integer.html">integer</a> n(_n);
-<a name="l00164"></a>00164 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00165"></a>00165 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(byBits);
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> n;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 } <span class="comment">// namespace detail</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classes.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classes.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,102 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>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_Q">Q</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="classxint_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> (<a class="el" href="namespacexint_1_1detail.html">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_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classxint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespacexint.html">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="structxint_1_1strong__random__generator_1_1impl__t.html">strong_random_generator::impl_t</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">data_t::QuickDigits</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</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="classxint_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1integer.html">integer</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespacexint.html">xint</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="structxint_1_1detail_1_1token.html">token</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</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="classxint_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structxint_1_1detail_1_1random__generator.html">random_generator</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1too__big.html">too_big</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespacexint.html">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_Q">Q</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>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::divide_by_zero Class Reference</h1><!-- doxytag: class="xint::divide_by_zero" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">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>Definition at line <a class="el" href="xint_8hpp_source.html#l00306">306</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="a31233d42a45ca6ef7078e700fa114ad2"></a><!-- doxytag: member="xint::divide_by_zero::divide_by_zero" ref="a31233d42a45ca6ef7078e700fa114ad2" 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">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#l00308">308</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,136 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::integer Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1integer.html">xint::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(size_t index) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(detail::digit_t init=0)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">_init</a>(const integer &amp;c)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">_init</a>(boost::uintmax_t n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(bool negative)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a></td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a></td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a></td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">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="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">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="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a>(const not_a_number &amp;)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">operator++</a>(int)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">operator--</a>(int)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a>(const integer &amp;c)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">zero</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,1206 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1integer.html">integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::integer Class Reference</h1><!-- doxytag: class="xint::integer" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</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="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">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="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">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="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">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="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a> (const <a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> &amp;)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">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="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">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="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</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="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">operator++</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a> (size_t index) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a> (bool negative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_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="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a> () const </td></tr>
-<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">zero</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a> ()</td></tr>
-<tr><td colspan="2"><h2>Private 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="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">_init</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">_init</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="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a> ()</td></tr>
-<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a></td></tr>
-<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a> = 0</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a> = 0</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00086">86</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="ad32b3b13167c61e48aede083a3e1c7a8"></a><!-- doxytag: member="xint::integer::integer" ref="ad32b3b13167c61e48aede083a3e1c7a8" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::integer::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#l00026">26</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00209">one()</a>, and <a class="el" href="integer_8cpp_source.html#l00204">zero()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa123fb47accd778f87e2866c9d986bb7"></a><!-- doxytag: member="xint::integer::integer" ref="aa123fb47accd778f87e2866c9d986bb7" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00030">30</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a67db70248d9890990c257a1d069192e3"></a><!-- doxytag: member="xint::integer::integer" ref="a67db70248d9890990c257a1d069192e3" 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">xint::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>Definition at line <a class="el" href="xint_8hpp_source.html#l00345">345</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00105">_set_negative()</a>, and <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0cad684bc9d7032497c7178edb91a5eb"></a><!-- doxytag: member="xint::integer::integer" ref="a0cad684bc9d7032497c7178edb91a5eb" 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">xint::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>Definition at line <a class="el" href="xint_8hpp_source.html#l00365">365</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, and <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6dfc86dfc539cfda1062ef1bc24aa526"></a><!-- doxytag: member="xint::integer::integer" ref="a6dfc86dfc539cfda1062ef1bc24aa526" args="(const std::string &amp;str, size_t base=10)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::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>Definition at line <a class="el" href="integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, and <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1211c9298c3281815bc9b709439d031a"></a><!-- doxytag: member="xint::integer::integer" ref="a1211c9298c3281815bc9b709439d031a" args="(const not_a_number &amp;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> &amp;&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00039">39</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4f687cc90353b1c347448f1d94fa157e"></a><!-- doxytag: member="xint::integer::~integer" ref="a4f687cc90353b1c347448f1d94fa157e" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::integer::~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#l00043">43</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="ab76e68e21fd5fd584d40ab09a6f7197d"></a><!-- doxytag: member="xint::integer::_attach" ref="ab76e68e21fd5fd584d40ab09a6f7197d" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_attach </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<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>References <a class="el" href="xint__data__t_8hpp_source.html#l00059">xint::detail::data_t::attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, and <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a53752a9fd32dc65cb8085da60a44e6b4"></a><!-- doxytag: member="xint::integer::_detach" ref="a53752a9fd32dc65cb8085da60a44e6b4" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_detach </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [private]</code></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>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00060">xint::detail::data_t::detach()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>, and <a class="el" href="integer_8cpp_source.html#l00043">~integer()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aff99f7868567ae0dd4666a985873a5a7"></a><!-- doxytag: member="xint::integer::_get_data" ref="aff99f7868567ae0dd4666a985873a5a7" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>* xint::integer::_get_data </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="xint_8hpp_source.html#l00136">136</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae5578d7d5be17df3ecd3ddc5a852d0a0"></a><!-- doxytag: member="xint::integer::_get_data" ref="ae5578d7d5be17df3ecd3ddc5a852d0a0" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>* xint::integer::_get_data </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#l00135">135</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a81ab47d2f92ec66ac1586b61d7fd8b60"></a><!-- doxytag: member="xint::integer::_get_digit" ref="a81ab47d2f92ec66ac1586b61d7fd8b60" args="(size_t index) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> xint::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#l00214">214</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00114">even()</a>, <a class="el" href="integer_8cpp_source.html#l00109">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5723a74b98da2d5ed9452a7ec10c0ca2"></a><!-- doxytag: member="xint::integer::_get_length" ref="a5723a74b98da2d5ed9452a7ec10c0ca2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t xint::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#l00218">218</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aed205d80e7b1a495a2d67abde5c406e8"></a><!-- doxytag: member="xint::integer::_init" ref="aed205d80e7b1a495a2d67abde5c406e8" args="(boost::uintmax_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_init </td>
- <td>(</td>
- <td class="paramtype">boost::uintmax_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00065">65</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">xint::detail::data_t::alloc()</a>, <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">xint::detail::data_t::skipLeadingZeros()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adaaff26c817fec0bef3cf903773e3f7b"></a><!-- doxytag: member="xint::integer::_init" ref="adaaff26c817fec0bef3cf903773e3f7b" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_init </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>c</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00056">56</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aff4a9e0584c9f920a6cdfdc717bcda0d"></a><!-- doxytag: member="xint::integer::_init" ref="aff4a9e0584c9f920a6cdfdc717bcda0d" args="(detail::digit_t init=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_init </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>init</em> = <code>0</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00047">47</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adc5c7b5bc30c0cfa30d62610e0bc0366"></a><!-- doxytag: member="xint::integer::_make_unique" ref="adc5c7b5bc30c0cfa30d62610e0bc0366" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void 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#l00092">92</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00048">xint::detail::data_t::mCopies</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00188">operator&lt;&lt;=()</a>, and <a class="el" href="integer_8cpp_source.html#l00196">operator&gt;&gt;=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab2f4df250e1030c518180b7e832c5ebd"></a><!-- doxytag: member="xint::integer::_set_negative" ref="ab2f4df250e1030c518180b7e832c5ebd" args="(bool negative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_set_negative </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>negative</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate()</a>, and <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>.</p>
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00345">integer()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad5935c358b92f15064b1f910613f7a3e"></a><!-- doxytag: member="xint::integer::_throw_if_nan" ref="ad5935c358b92f15064b1f910613f7a3e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::integer::_throw_if_nan </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#l00222">222</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00114">even()</a>, <a class="el" href="integer_8cpp_source.html#l00130">hex_digits()</a>, <a class="el" href="integer_8cpp_source.html#l00109">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2ffb63eee276c65d8ea8b365adeb1ee2"></a><!-- doxytag: member="xint::integer::even" ref="a2ffb63eee276c65d8ea8b365adeb1ee2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::integer::even </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#l00114">114</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25f066e30e4548bc22e0e9d75b809955"></a><!-- doxytag: member="xint::integer::hex_digits" ref="a25f066e30e4548bc22e0e9d75b809955" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t xint::integer::hex_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, and <a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint::log2()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aece07e741fa78e1329373ff10d44e264"></a><!-- doxytag: member="xint::integer::nan" ref="aece07e741fa78e1329373ff10d44e264" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::integer::nan </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#l00126">126</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, <a class="el" href="integer_8cpp_source.html#l00030">integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af2d420708a02755a8851140928e50e23"></a><!-- doxytag: member="xint::integer::odd" ref="af2d420708a02755a8851140928e50e23" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::integer::odd </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#l00109">109</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9237b21f4162146c7b5749b169c081b8"></a><!-- doxytag: member="xint::integer::one" ref="a9237b21f4162146c7b5749b169c081b8" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::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#l00209">209</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00150">cOne</a>, and <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00177">operator++()</a>, and <a class="el" href="integer_8cpp_source.html#l00178">operator--()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abee8874a961c2bb15a288494e096f36b"></a><!-- doxytag: member="xint::integer::operator%=" ref="abee8874a961c2bb15a288494e096f36b" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator%= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0d4c730e3d45d3fa2895b706b202d860"></a><!-- doxytag: member="xint::integer::operator&amp;=" ref="a0d4c730e3d45d3fa2895b706b202d860" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator&amp;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00184">184</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a531cdc9ce5667c4553fd1e4dac151b51"></a><!-- doxytag: member="xint::integer::operator*=" ref="a531cdc9ce5667c4553fd1e4dac151b51" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator*= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a79624fb580bdb2ba19fe13223c801c25"></a><!-- doxytag: member="xint::integer::operator++" ref="a79624fb580bdb2ba19fe13223c801c25" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::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>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>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a60cd241278892070d14a0d57e45c9264"></a><!-- doxytag: member="xint::integer::operator++" ref="a60cd241278892070d14a0d57e45c9264" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator++ </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#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa0259f75f66b97b68310cfed2c0ecc7b"></a><!-- doxytag: member="xint::integer::operator+=" ref="aa0259f75f66b97b68310cfed2c0ecc7b" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator+= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00136">136</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>, and <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a40ff1ffeda1df544b8bcd907f76d93cd"></a><!-- doxytag: member="xint::integer::operator&#45;&#45;" ref="a40ff1ffeda1df544b8bcd907f76d93cd" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::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>Definition at line <a class="el" href="integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a48452b868e2279e202039c9918f0dcf3"></a><!-- doxytag: member="xint::integer::operator&#45;&#45;" ref="a48452b868e2279e202039c9918f0dcf3" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator-- </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#l00178">178</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2ce7f54adccb88836d1474fc67fa9a62"></a><!-- doxytag: member="xint::integer::operator&#45;=" ref="a2ce7f54adccb88836d1474fc67fa9a62" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator-= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00150">150</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3366a33f7ca5ad3285515e260d0dce66"></a><!-- doxytag: member="xint::integer::operator/=" ref="a3366a33f7ca5ad3285515e260d0dce66" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator/= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3733741d7e1c8ba1c1f490c8949a308f"></a><!-- doxytag: member="xint::integer::operator&lt;&lt;" ref="a3733741d7e1c8ba1c1f490c8949a308f" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::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#l00182">182</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">xint::shift_left()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a14545146f86ed797e97758d8aea32ecd"></a><!-- doxytag: member="xint::integer::operator&lt;&lt;=" ref="a14545146f86ed797e97758d8aea32ecd" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::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#l00188">188</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00252">xint::detail::data_t::shift_left()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abfa13a313f2782885bbbfa9a5f4a22c2"></a><!-- doxytag: member="xint::integer::operator=" ref="abfa13a313f2782885bbbfa9a5f4a22c2" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00162">162</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5cbc6986de4ca89b49162736f8750986"></a><!-- doxytag: member="xint::integer::operator&gt;&gt;" ref="a5cbc6986de4ca89b49162736f8750986" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::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#l00183">183</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">xint::shift_right()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa0151e58a97bc1801221907d68582ec2"></a><!-- doxytag: member="xint::integer::operator&gt;&gt;=" ref="aa0151e58a97bc1801221907d68582ec2" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::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#l00196">196</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00280">xint::detail::data_t::shift_right()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afc13b5ae9c6f28ef5e75777976aeb56d"></a><!-- doxytag: member="xint::integer::operator^=" ref="afc13b5ae9c6f28ef5e75777976aeb56d" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator^= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00186">186</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1af418341e64a317b4cc41fcddaa849f"></a><!-- doxytag: member="xint::integer::operator|=" ref="a1af418341e64a317b4cc41fcddaa849f" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::integer::operator|= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_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#l00185">185</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5d84398ce89b376f695ccded2d20c8c2"></a><!-- doxytag: member="xint::integer::sign" ref="a5d84398ce89b376f695ccded2d20c8c2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int xint::integer::sign </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#l00119">119</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00049">xint::detail::data_t::mIsNegative</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00105">_set_negative()</a>, <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a64a0f99de7c33239237cb59d8464f3d2"></a><!-- doxytag: member="xint::integer::zero" ref="a64a0f99de7c33239237cb59d8464f3d2" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::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#l00204">204</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00150">cZero</a>, and <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a99deec6bc6eae551f358e4699075646a"></a><!-- doxytag: member="xint::integer::cOne" ref="a99deec6bc6eae551f358e4699075646a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">integer</a> * <a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">xint::integer::cOne</a> = 0<code> [static, private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00150">150</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4903bda4b989056ee0c980aba7d07e06"></a><!-- doxytag: member="xint::integer::cZero" ref="a4903bda4b989056ee0c980aba7d07e06" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">integer</a> * <a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">xint::integer::cZero</a> = 0<code> [static, private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00150">150</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00204">zero()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a83a10805b1c61ed4c7b7b525a9b6b450"></a><!-- doxytag: member="xint::integer::data" ref="a83a10805b1c61ed4c7b7b525a9b6b450" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>* <a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">xint::integer::data</a><code> [private]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00152">152</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00135">_get_data()</a>, <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00030">integer()</a>, <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>, <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00188">operator&lt;&lt;=()</a>, <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>, <a class="el" href="integer_8cpp_source.html#l00196">operator&gt;&gt;=()</a>, and <a class="el" hr
ef="integer_8cpp_source.html#l00119">sign()</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-<li>I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1invalid__base.html">invalid_base</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::invalid_base Class Reference</h1><!-- doxytag: class="xint::invalid_base" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">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>Definition at line <a class="el" href="xint_8hpp_source.html#l00288">288</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="a16a577d5584652ca358450cbb55b5d55"></a><!-- doxytag: member="xint::invalid_base::invalid_base" ref="a16a577d5584652ca358450cbb55b5d55" args="(const std::string &amp;what=&quot;invalid base&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">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#l00290">290</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::invalid_digit Class Reference</h1><!-- doxytag: class="xint::invalid_digit" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">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>Definition at line <a class="el" href="xint_8hpp_source.html#l00294">294</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="a832283e75569bd7e9d09f38ebae87a27"></a><!-- doxytag: member="xint::invalid_digit::invalid_digit" ref="a832283e75569bd7e9d09f38ebae87a27" args="(const std::string &amp;what=&quot;invalid digit&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">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#l00296">296</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::invalid_modulus Class Reference</h1><!-- doxytag: class="xint::invalid_modulus" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">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>Definition at line <a class="el" href="xint_8hpp_source.html#l00300">300</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="a691026e352d38fc5120c12d6d134e854"></a><!-- doxytag: member="xint::invalid_modulus::invalid_modulus" ref="a691026e352d38fc5120c12d6d134e854" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">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#l00302">302</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1not__a__number.html">not_a_number</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::not_a_number Class Reference</h1><!-- doxytag: class="xint::not_a_number" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">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>Definition at line <a class="el" href="xint_8hpp_source.html#l00324">324</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="a4ecc5bcc06a5d660176d51fc63c996cd"></a><!-- doxytag: member="xint::not_a_number::not_a_number" ref="a4ecc5bcc06a5d660176d51fc63c996cd" 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">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#l00326">326</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,91 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>xint::too_big Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1too__big.html">xint::too_big</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">too_big</a>(const std::string &amp;what=&quot;value out of range for requested &quot;&quot;conversion&quot;)</td><td><a class="el" href="classxint_1_1too__big.html">xint::too_big</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,126 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1too__big.html">too_big</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::too_big Class Reference</h1><!-- doxytag: class="xint::too_big" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></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="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">too_big</a> (const std::string &amp;what=&quot;value out of range for requested &quot;&quot;conversion&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00318">318</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="a37a714ef8bfef8a1cf6cfa08a5db1ccc"></a><!-- doxytag: member="xint::too_big::too_big" ref="a37a714ef8bfef8a1cf6cfa08a5db1ccc" args="(const std::string &amp;what=&quot;value out of range for requested &quot;&quot;conversion&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">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;&quot;&nbsp;&quot;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#l00320">320</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>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,105 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/compare.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;../xint_data_t.hpp&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<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="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint::operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint::operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint::operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint::operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint::operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint::operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::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="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint::operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,146 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the definition for the compare function, and the</span>
-<a name="l00012"></a>00012 <span class="comment"> comparison operators that use it.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>xint {
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">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="l00021"></a>00021 b1._throw_if_nan();
-<a name="l00022"></a>00022 b2._throw_if_nan();
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keywordflow">if</span> (!ignoresign) {
-<a name="l00025"></a>00025 <span class="keywordtype">int</span> sign1=b1.sign(), sign2=b2.sign();
-<a name="l00026"></a>00026 <span class="keywordflow">if</span> (sign1==0 &amp;&amp; sign2==0) <span class="keywordflow">return</span> 0;
-<a name="l00027"></a>00027 <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> -sign2;
-<a name="l00028"></a>00028 <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> sign1;
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keywordflow">if</span> (sign1 != sign2) <span class="keywordflow">return</span> sign1;
-<a name="l00031"></a>00031 <span class="keywordflow">if</span> (sign1 &lt; 0) <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(-b2, -b1, ignoresign);
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keyword">const</span> detail::data_t *b1data=b1._get_data();
-<a name="l00035"></a>00035 <span class="keyword">const</span> detail::data_t *b2data=b2._get_data();
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keywordtype">int</span> answer=0;
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (b1data-&gt;mLength != b2data-&gt;mLength) {
-<a name="l00039"></a>00039 answer=((b1data-&gt;mLength &lt; b2data-&gt;mLength) ? -1 : 1);
-<a name="l00040"></a>00040 } <span class="keywordflow">else</span> {
-<a name="l00041"></a>00041 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = <span class="keywordtype">int</span>(b1data-&gt;mLength) - 1; x &gt;= 0; --x) {
-<a name="l00042"></a>00042 <span class="keywordflow">if</span> (b1data-&gt;digits[x] != b2data-&gt;digits[x]) {
-<a name="l00043"></a>00043 answer=((b1data-&gt;digits[x] &lt; b2data-&gt;digits[x]) ? -1 : 1);
-<a name="l00044"></a>00044 <span class="keywordflow">break</span>;
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> answer;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">operator!</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1) { <span class="keywordflow">return</span> num1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0; }
-<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">operator==</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)==0; }
-<a name="l00054"></a>00054 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)!=0; }
-<a name="l00055"></a>00055 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;0; }
-<a name="l00056"></a>00056 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;0; }
-<a name="l00057"></a>00057 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;=0; }
-<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;=0; }
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,104 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/convert.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;../xint_data_t.hpp&quot;</code><br/>
-<code>#include &lt;vector&gt;</code><br/>
-<code>#include &lt;algorithm&gt;</code><br/>
-<code>#include &lt;sstream&gt;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a> (const integer &amp;n, size_t base, bool upperCase)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">xint::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="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">xint::to_binary</a> (const integer &amp;n)</td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,278 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the conversion functions. Note that the to&lt;T&gt; function is</span>
-<a name="l00012"></a>00012 <span class="comment"> not here, because it&#39;s a template function and must be defined in a header</span>
-<a name="l00013"></a>00013 <span class="comment"> file.</span>
-<a name="l00014"></a>00014 <span class="comment"></span>
-<a name="l00015"></a>00015 <span class="comment"> TODO: the to_string function could be made more efficient by using only</span>
-<a name="l00016"></a>00016 <span class="comment"> doubledigit_t-sized pieces of the integer at a time, and dividing the whole</span>
-<a name="l00017"></a>00017 <span class="comment"> thing by the total of the divisions done to get the digits. Same with the</span>
-<a name="l00018"></a>00018 <span class="comment"> from_string function.</span>
-<a name="l00019"></a>00019 <span class="comment">*/</span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;algorithm&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>xint {
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keyword">using namespace </span>detail;
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">namespace </span>{
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keywordtype">char</span> nToChar(<span class="keywordtype">int</span> n, <span class="keywordtype">bool</span> upperCase) {
-<a name="l00035"></a>00035 <span class="keywordflow">if</span> (n &lt; 10) <span class="keywordflow">return</span> char(n+<span class="charliteral">&#39;0&#39;</span>);
-<a name="l00036"></a>00036 <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="l00037"></a>00037 <span class="keywordflow">else</span> <span class="keywordflow">return</span> char((n - 10) + <span class="charliteral">&#39;a&#39;</span>);
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 } <span class="comment">// namespace</span>
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 std::string <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">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="l00043"></a>00043 <span class="keywordflow">if</span> (n.nan()) <span class="keywordflow">return</span> <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>;
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) {
-<a name="l00045"></a>00045 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_base();
-<a name="l00046"></a>00046 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordflow">if</span> (n.sign()==0) <span class="keywordflow">return</span> <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 std::ostringstream out;
-<a name="l00052"></a>00052 <span class="keywordflow">if</span> (base==16) {
-<a name="l00053"></a>00053 <span class="comment">// Special no-division version, primarily for debugging division</span>
-<a name="l00054"></a>00054 <span class="keyword">const</span> data_t *ndata=n._get_data();
-<a name="l00055"></a>00055 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *firstDigit=ndata-&gt;digits,
-<a name="l00056"></a>00056 *lastDigit=firstDigit + ndata-&gt;mLength - 1;
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">const</span> <span class="keywordtype">int</span> bitsPerDigit=4;
-<a name="l00059"></a>00059 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; bitsPerDigit)-1;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="comment">// Suppress any leading zeros</span>
-<a name="l00062"></a>00062 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=lastDigit;
-<a name="l00063"></a>00063 <span class="keywordtype">int</span> digitShift=(<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bitsPerDigit);
-<a name="l00064"></a>00064 <span class="keywordflow">while</span> (digitShift &gt;= 0 &amp;&amp; ((*d &gt;&gt; digitShift) &amp; mask) == 0)
-<a name="l00065"></a>00065 digitShift -= bitsPerDigit;
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keywordflow">do</span> {
-<a name="l00068"></a>00068 <span class="keywordflow">while</span> (digitShift &gt;= 0) {
-<a name="l00069"></a>00069 out &lt;&lt; nToChar((*d &gt;&gt; digitShift) &amp; mask, upperCase);
-<a name="l00070"></a>00070 digitShift -= bitsPerDigit;
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 digitShift=(<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bitsPerDigit);
-<a name="l00074"></a>00074 } <span class="keywordflow">while</span> (d-- != firstDigit);
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 std::string r(n.sign() &lt; 0 ? std::string(<span class="stringliteral">&quot;-&quot;</span>)+out.str() : out.str());
-<a name="l00077"></a>00077 <span class="keywordflow">return</span> r;
-<a name="l00078"></a>00078 } <span class="keywordflow">else</span> {
-<a name="l00079"></a>00079 <span class="keyword">const</span> integer <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>=base;
-<a name="l00080"></a>00080 std::pair&lt;integer, integer&gt; a=std::make_pair(n, <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>());
-<a name="l00081"></a>00081 a.first._set_negative(<span class="keyword">false</span>);
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 integer r;
-<a name="l00084"></a>00084 <span class="keywordflow">while</span> (a.first.sign()!=0) {
-<a name="l00085"></a>00085 a=<a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(a.first, shift);
-<a name="l00086"></a>00086 out &lt;&lt; nToChar(a.second._get_digit(0), upperCase);
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keywordflow">if</span> (n.sign() &lt; 0) out &lt;&lt; <span class="charliteral">&#39;-&#39;</span>;
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 std::string rval=out.str();
-<a name="l00092"></a>00092 std::reverse(rval.begin(), rval.end());
-<a name="l00093"></a>00093 <span class="keywordflow">return</span> rval;
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 integer <a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> (str==<a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>) <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>=<span class="keyword">false</span>;
-<a name="l00101"></a>00101 <span class="keyword">const</span> <span class="keywordtype">char</span> *c=str.c_str();
-<a name="l00102"></a>00102 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;+&#39;</span>) ++c;
-<a name="l00103"></a>00103 <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="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (base==<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>) {
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00107"></a>00107 ++c;
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (*c==<span class="charliteral">&#39;x&#39;</span> || *c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00109"></a>00109 ++c;
-<a name="l00110"></a>00110 base=16;
-<a name="l00111"></a>00111 } <span class="keywordflow">else</span> base=8;
-<a name="l00112"></a>00112 } <span class="keywordflow">else</span> base=10;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="keywordflow">if</span> (base&lt;2 || base&gt;36) {
-<a name="l00116"></a>00116 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_base();
-<a name="l00117"></a>00117 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="keywordflow">if</span> (*c==0) {
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_digit(<span class="stringliteral">&quot;No valid digits&quot;</span>);
-<a name="l00122"></a>00122 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <span class="keyword">const</span> integer <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>(base);
-<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">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_digit(<span class="stringliteral">&quot;encountered non-alphanumeric character in string&quot;</span>);
-<a name="l00135"></a>00135 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keywordflow">if</span> (digit &gt;= base) {
-<a name="l00139"></a>00139 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_digit(<span class="stringliteral">&quot;encountered digit greater than base allows&quot;</span>);
-<a name="l00140"></a>00140 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 r = (r * shift) + digit;
-<a name="l00144"></a>00144 ++c;
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146 r._set_negative(negate);
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> r;
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 integer <a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(<span class="keyword">const</span> std::string&amp; str) {
-<a name="l00151"></a>00151 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bytesPerDigit=<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>);
-<a name="l00152"></a>00152 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bitsPerByte=std::numeric_limits&lt;unsigned char&gt;::digits;
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 integer r;
-<a name="l00155"></a>00155 detail::data_t *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00156"></a>00156 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>((str.length() + bytesPerDigit - 1)/bytesPerDigit);
-<a name="l00157"></a>00157 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=rdata-&gt;digits;
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <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="l00160"></a>00160 <span class="keywordflow">while</span> (s&lt;se) {
-<a name="l00161"></a>00161 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d=0;
-<a name="l00162"></a>00162 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i&lt;bytesPerDigit &amp;&amp; s&lt;se; ++i)
-<a name="l00163"></a>00163 d |= (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(*s++) &lt;&lt; (i * bitsPerByte));
-<a name="l00164"></a>00164 *p++=d;
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 rdata-&gt;skipLeadingZeros();
-<a name="l00167"></a>00167 <span class="keywordflow">return</span> r;
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 std::string <a class="code" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">to_binary</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00171"></a>00171 n._throw_if_nan();
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bytesPerDigit=<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>);
-<a name="l00174"></a>00174 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bitsPerByte=std::numeric_limits&lt;unsigned char&gt;::digits;
-<a name="l00175"></a>00175 std::vector&lt;unsigned char&gt; temp;
-<a name="l00176"></a>00176 temp.reserve(n._get_length() * bytesPerDigit);
-<a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="keyword">const</span> detail::data_t *ndata=n._get_data();
-<a name="l00179"></a>00179 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=ndata-&gt;digits, *pe=p+n._get_length();
-<a name="l00180"></a>00180 <span class="keywordflow">while</span> (p != pe) {
-<a name="l00181"></a>00181 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d(*p++);
-<a name="l00182"></a>00182 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i&lt;bytesPerDigit; ++i) {
-<a name="l00183"></a>00183 temp.push_back((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(d));
-<a name="l00184"></a>00184 d &gt;&gt;= bitsPerByte;
-<a name="l00185"></a>00185 }
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187 <span class="keywordflow">while</span> (!temp.empty() &amp;&amp; temp.back()==0) temp.pop_back();
-<a name="l00188"></a>00188 <span class="keywordtype">char</span> *c=(<span class="keywordtype">char</span>*)&amp;temp[0];
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> std::string(c, c+temp.size());
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,98 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/data_t.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;../xint_data_t.hpp&quot;</code><br/>
-<code>#include &lt;cassert&gt;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,399 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/data_t.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"> This file contains the definitions for data_t member functions.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;cassert&gt;</span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">namespace </span>xint {
-<a name="l00020"></a><a class="code" href="namespacexint_1_1detail.html">00020</a> <span class="keyword">namespace </span>detail {
-<a name="l00021"></a>00021
-<a name="l00022"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">00022</a> <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t::data_t</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial2, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial3) {
-<a name="l00023"></a>00023 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=1;
-<a name="l00024"></a>00024 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>;
-<a name="l00025"></a>00025 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>;
-<a name="l00026"></a>00026 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]=initial1;
-<a name="l00027"></a>00027 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[1]=initial2;
-<a name="l00028"></a>00028 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[2]=initial3;
-<a name="l00029"></a>00029 <a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>=0;
-<a name="l00030"></a>00030 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=<span class="keyword">false</span>;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00033"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">00033</a> <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t::data_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c) {
-<a name="l00034"></a>00034 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00035"></a>00035 <span class="keywordflow">if</span> (c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> == c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
-<a name="l00036"></a>00036 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>;
-<a name="l00037"></a>00037 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>;
-<a name="l00038"></a>00038 } <span class="keywordflow">else</span> {
-<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
-<a name="l00040"></a>00040 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00041"></a>00041 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>];
-<a name="l00043"></a>00043 <span class="preprocessor"> #else</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>, 0);
-<a name="l00045"></a>00045 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=&amp;<a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>[0];
-<a name="l00046"></a>00046 <span class="preprocessor"> #endif</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span> } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00048"></a>00048 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>=0;
-<a name="l00054"></a>00054 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="preprocessor">#ifdef XINT_SECURE</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span>data_t::~data_t() {
-<a name="l00059"></a>00059 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>);
-<a name="l00060"></a>00060 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> != <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
-<a name="l00061"></a>00061 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>);
-<a name="l00062"></a>00062 <span class="keyword">delete</span>[] <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span>
-<a name="l00067"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">00067</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">data_t::skipLeadingZeros</a>() {
-<a name="l00068"></a>00068 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-1;
-<a name="l00069"></a>00069 <span class="keywordflow">while</span> (d&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> &amp;&amp; *d==0) --d;
-<a name="l00070"></a>00070 mLength=int((d-<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>)+1);
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (mLength==1 &amp;&amp; <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]==0) <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=<span class="keyword">false</span>; <span class="comment">// Zero isn&#39;t negative</span>
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">00074</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">data_t::quickset</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3) {
-<a name="l00075"></a>00075 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=3;
-<a name="l00078"></a>00078 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]=d1;
-<a name="l00079"></a>00079 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[1]=d2;
-<a name="l00080"></a>00080 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[2]=d3;
-<a name="l00081"></a>00081 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=<span class="keyword">false</span>;
-<a name="l00082"></a>00082 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084
-<a name="l00085"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">00085</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">data_t::alloc</a>(<span class="keywordtype">size_t</span> newcount, <span class="keywordtype">bool</span> copydigits) {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>==<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> &amp;&amp; newcount&lt;=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>) {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (!copydigits) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>);
-<a name="l00088"></a>00088 <span class="keywordflow">else</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, (newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>));
-<a name="l00089"></a>00089 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newcount &lt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>) {
-<a name="l00091"></a>00091 <span class="keywordflow">if</span> (copydigits) {
-<a name="l00092"></a>00092 <span class="keywordflow">if</span> (newcount&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00093"></a>00093 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
-<a name="l00094"></a>00094 } <span class="keywordflow">else</span> {
-<a name="l00095"></a>00095 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
-<a name="l00096"></a>00096 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 } <span class="keywordflow">else</span> {
-<a name="l00099"></a>00099 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span> <span class="keywordtype">int</span> e=newcount;
-<a name="l00101"></a>00101 newcount=1;
-<a name="l00102"></a>00102 <span class="keywordflow">while</span> (newcount &lt; e) newcount &lt;&lt;= 1;
-<a name="l00103"></a>00103 <span class="preprocessor"> #endif</span>
-<a name="l00104"></a>00104 <span class="preprocessor"></span>
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>==<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> &amp;&amp; copydigits) {
-<a name="l00106"></a>00106 <span class="keywordflow">try</span> {
-<a name="l00107"></a>00107 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00108"></a>00108 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[newcount];
-<a name="l00109"></a>00109 <span class="preprocessor"> #else</span>
-<a name="l00110"></a>00110 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(newcount);
-<a name="l00111"></a>00111 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=&amp;<a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>[0];
-<a name="l00112"></a>00112 <span class="preprocessor"> #endif</span>
-<a name="l00113"></a>00113 <span class="preprocessor"></span> } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00114"></a>00114 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>; <span class="comment">// Might allow for recovery in some cases</span>
-<a name="l00115"></a>00115 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00119"></a>00119 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00120"></a>00120 } <span class="keywordflow">else</span> {
-<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="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *newDigits=0;
-<a name="l00123"></a>00123 <span class="keywordflow">try</span> {
-<a name="l00124"></a>00124 newDigits=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[newcount];
-<a name="l00125"></a>00125 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00126"></a>00126 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> (copydigits) {
-<a name="l00130"></a>00130 memcpy(newDigits, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00131"></a>00131 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(newDigits+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00132"></a>00132 } <span class="keywordflow">else</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(newDigits, newcount);
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>!=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
-<a name="l00135"></a>00135 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>);
-<a name="l00136"></a>00136 <span class="keyword">delete</span>[] <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=newDigits;
-<a name="l00139"></a>00139 <span class="preprocessor"> #else</span>
-<a name="l00140"></a>00140 <span class="preprocessor"></span> <span class="keywordflow">try</span> {
-<a name="l00141"></a>00141 <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(newcount);
-<a name="l00142"></a>00142 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00143"></a>00143 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=&amp;<a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>[0];
-<a name="l00146"></a>00146 <span class="keywordflow">if</span> (!copydigits) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, newcount);
-<a name="l00147"></a>00147 <span class="preprocessor"> #endif</span>
-<a name="l00148"></a>00148 <span class="preprocessor"></span> }
-<a name="l00149"></a>00149 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=newcount;
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152
-<a name="l00153"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">00153</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">data_t::copy</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, <span class="keywordtype">size_t</span> extraDigits) {
-<a name="l00154"></a>00154 <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+extraDigits);
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00157"></a>00157 <span class="keywordflow">if</span> (c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>==1) *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> = *c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00158"></a>00158 <span class="keywordflow">else</span> memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="comment">// Deliberately doesn&#39;t call skipLeadingZeros().</span>
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164
-<a name="l00165"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">00165</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">data_t::zero</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p, <span class="keywordtype">size_t</span> count) {
-<a name="l00166"></a>00166 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *pe=p+count;
-<a name="l00167"></a>00167 <span class="keywordflow">while</span> (p&lt;pe) *p++=0;
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169
-<a name="l00170"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">00170</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">data_t::invert</a>() {
-<a name="l00171"></a>00171 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=!<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *e=d+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00176"></a>00176 <span class="keywordflow">while</span> (d&lt;e) {
-<a name="l00177"></a>00177 *d=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> - 1 - *d);
-<a name="l00178"></a>00178 ++d;
-<a name="l00179"></a>00179 }
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00182"></a>00182 <span class="keywordflow">while</span> (d&lt;e) {
-<a name="l00183"></a>00183 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> w=(*d)+1;
-<a name="l00184"></a>00184 (*d++)=static_cast&lt;digit_t&gt;(w);
-<a name="l00185"></a>00185 <span class="keywordflow">if</span> (w&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) <span class="keywordflow">break</span>;
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00189"></a>00189 }
-<a name="l00190"></a>00190
-<a name="l00191"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">00191</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">data_t::negate</a>() {
-<a name="l00192"></a>00192 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 <span class="comment">// If it&#39;s zero, don&#39;t change the sign</span>
-<a name="l00195"></a>00195 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>&gt;1 || <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]!=0) <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=!<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
-<a name="l00196"></a>00196 }
-<a name="l00197"></a>00197
-<a name="l00198"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">00198</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">data_t::add</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>&amp; addend) {
-<a name="l00199"></a>00199 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00200"></a>00200 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="comment">// The answer to any addition problem contains, at most, one digit more</span>
-<a name="l00203"></a>00203 <span class="comment">// than the largest addend.</span>
-<a name="l00204"></a>00204 <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+1);
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 <span class="comment">// Now add the digits, starting at the least-significant digit.</span>
-<a name="l00207"></a>00207 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> carry=0;
-<a name="l00208"></a>00208 <span class="keywordtype">size_t</span> x=0;
-<a name="l00209"></a>00209 <span class="keywordflow">for</span> (; x&lt;addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>; ++x) {
-<a name="l00210"></a>00210 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x])+addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+carry;
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (t&gt;=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) { carry=1; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; } <span class="keywordflow">else</span> carry=0;
-<a name="l00212"></a>00212 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00213"></a>00213 }
-<a name="l00214"></a>00214
-<a name="l00215"></a>00215 <span class="keywordflow">while</span> (carry) {
-<a name="l00216"></a>00216 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x])+1;
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (t&gt;=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) { carry=1; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; } <span class="keywordflow">else</span> carry=0;
-<a name="l00218"></a>00218 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00219"></a>00219 ++x;
-<a name="l00220"></a>00220 }
-<a name="l00221"></a>00221
-<a name="l00222"></a>00222 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
-<a name="l00225"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">00225</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">data_t::subtract</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>&amp; subtrahend) {
-<a name="l00226"></a>00226 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00227"></a>00227 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="comment">// For subtraction, the answer will always be less than or equal to the</span>
-<a name="l00230"></a>00230 <span class="comment">// size of the longest operand, so we&#39;ve already got enough room.</span>
-<a name="l00231"></a>00231
-<a name="l00232"></a>00232 <span class="comment">// Now subtract the digits, starting at the least-significant one.</span>
-<a name="l00233"></a>00233 <span class="keywordtype">size_t</span> x;
-<a name="l00234"></a>00234 <span class="keywordtype">int</span> borrow=0;
-<a name="l00235"></a>00235 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t;
-<a name="l00236"></a>00236 <span class="keywordflow">for</span> (x=0; x&lt;subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>; ++x) {
-<a name="l00237"></a>00237 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]-borrow;
-<a name="l00238"></a>00238 if (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
-<a name="l00239"></a>00239 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00240"></a>00240 }
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="keywordflow">for</span> (; x&lt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &amp;&amp; borrow; ++x) {
-<a name="l00243"></a>00243 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-borrow;
-<a name="l00244"></a>00244 <span class="keywordflow">if</span> (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
-<a name="l00245"></a>00245 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00246"></a>00246 }
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="keywordflow">if</span> (borrow) <a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>();
-<a name="l00249"></a>00249 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251
-<a name="l00252"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">00252</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">data_t::shift_left</a>(<span class="keywordtype">size_t</span> byBits) {
-<a name="l00253"></a>00253 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00254"></a>00254 assert(byBits&gt;0);
-<a name="l00255"></a>00255
-<a name="l00256"></a>00256 <span class="keywordtype">size_t</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00257"></a>00257 <span class="keywordtype">size_t</span> oldLength=<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259 <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+bytes+1);
-<a name="l00260"></a>00260
-<a name="l00261"></a>00261 <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00262"></a>00262 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00263"></a>00263 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+oldLength-1, *t=s+bytes+1;
-<a name="l00264"></a>00264
-<a name="l00265"></a>00265 *t-- = *s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits);
-<a name="l00266"></a>00266 <span class="keywordflow">while</span> (s &gt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>) {
-<a name="l00267"></a>00267 *t = (*s-- &lt;&lt; bits);
-<a name="l00268"></a>00268 *t-- |= (*s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits));
-<a name="l00269"></a>00269 }
-<a name="l00270"></a>00270 *t = (*s &lt;&lt; bits);
-<a name="l00271"></a>00271
-<a name="l00272"></a>00272 <span class="keywordflow">if</span> (bytes != 0) memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00273"></a>00273 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00274"></a>00274 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * oldLength);
-<a name="l00275"></a>00275 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00276"></a>00276 }
-<a name="l00277"></a>00277 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00278"></a>00278 }
-<a name="l00279"></a>00279
-<a name="l00280"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">00280</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">data_t::shift_right</a>(<span class="keywordtype">size_t</span> byBits) {
-<a name="l00281"></a>00281 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00282"></a>00282 assert(byBits&gt;0);
-<a name="l00283"></a>00283
-<a name="l00284"></a>00284 <span class="keywordtype">size_t</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>,
-<a name="l00285"></a>00285 bits2 = <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits;
-<a name="l00286"></a>00286
-<a name="l00287"></a>00287 <span class="keywordflow">if</span> (bytes &gt;= <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>) {
-<a name="l00288"></a>00288 <span class="comment">// Right-shift it into oblivion.</span>
-<a name="l00289"></a>00289 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=1;
-<a name="l00290"></a>00290 *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=0;
-<a name="l00291"></a>00291 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00292"></a>00292 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00293"></a>00293 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, *se=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-1;
-<a name="l00294"></a>00294 <span class="keywordflow">while</span> (s!=se) {
-<a name="l00295"></a>00295 *t = (*s++ &gt;&gt; bits);
-<a name="l00296"></a>00296 *t++ |= (*s &lt;&lt; bits2);
-<a name="l00297"></a>00297 }
-<a name="l00298"></a>00298 *t = (*s &gt;&gt; bits);
-<a name="l00299"></a>00299 <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00300"></a>00300 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+mLength-bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00301"></a>00301 mLength-=bytes;
-<a name="l00302"></a>00302 }
-<a name="l00303"></a>00303 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00304"></a>00304 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00305"></a>00305 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + bytes, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * (<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> - bytes));
-<a name="l00306"></a>00306 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> - bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00307"></a>00307 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-=bytes;
-<a name="l00308"></a>00308 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00309"></a>00309 }
-<a name="l00310"></a>00310 }
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 } <span class="comment">// namespace detail</span>
-<a name="l00313"></a>00313 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/doxygen.png
==============================================================================
Binary file. No diff available.

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,115 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/exception_blocker.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">xint::exceptions_allowed</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint::block_exceptions</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">xint::allow_exceptions</a> ()</td></tr>
-</table>
-<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#l00043">43</a> of file <a class="el" href="exception__blocker_8cpp_source.html">exception_blocker.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,153 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file holds definitions for the exception blocker classes and functions.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>xint {
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>{
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span> boost::thread_specific_ptr&lt;bool&gt; allowed;
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">struct </span>EBlockerToken: <span class="keyword">public</span> detail::<a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a> {
-<a name="l00027"></a>00027 EBlockerToken(<span class="keywordtype">bool</span> newAllowState) {
-<a name="l00028"></a>00028 <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="l00029"></a>00029 <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>=*allowed;
-<a name="l00030"></a>00030 *allowed=newAllowState;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032 ~EBlockerToken() { *allowed=<a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>; }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keywordtype">bool</span> <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>;
-<a name="l00035"></a>00035 };
-<a name="l00036"></a>00036 <span class="preprocessor">#else</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span> <span class="keywordtype">bool</span> allowed=<span class="keyword">true</span>;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">struct </span>EBlockerToken: <span class="keyword">public</span> detail::<a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a> {
-<a name="l00040"></a>00040 EBlockerToken(<span class="keywordtype">bool</span> newAllowState): <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>(allowed) { allowed=newAllowState; }
-<a name="l00041"></a>00041 ~EBlockerToken() { allowed=<a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>; }
-<a name="l00042"></a>00042
-<a name="l00043"></a><a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">00043</a> <span class="keywordtype">bool</span> <a class="code" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">mOldState</a>;
-<a name="l00044"></a>00044 };
-<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span>
-<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="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>() {
-<a name="l00050"></a>00050 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span> <span class="comment">// Defaults to true</span>
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> (allowed.get()==0 || *allowed==<span class="keyword">true</span>);
-<a name="l00053"></a>00053 <span class="preprocessor"> #else</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span> <span class="keywordflow">return</span> allowed;
-<a name="l00055"></a>00055 <span class="preprocessor"> #endif</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>}
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a> <a class="code" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">block_exceptions</a>() {
-<a name="l00059"></a>00059 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a>(<span class="keyword">new</span> EBlockerToken(<span class="keyword">false</span>));
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a> <a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>() {
-<a name="l00063"></a>00063 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a>(<span class="keyword">new</span> EBlockerToken(<span class="keyword">true</span>));
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 } <span class="comment">// namespace xint</span>
-<a name="l00067"></a>00067
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/files.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/files.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,112 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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 class="current">File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp.html">xint.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint__data__t_8hpp.html">xint_data_t.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint__monty_8hpp.html">xint_monty.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint__test_8hpp.html">xint_test.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="bit__manipulations_8cpp.html">bit_manipulations.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="compare_8cpp.html">compare.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="convert_8cpp.html">convert.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="data__t_8cpp.html">data_t.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="exception__blocker_8cpp.html">exception_blocker.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="gcd_8cpp.html">gcd.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="integer_8cpp.html">integer.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="misc_8cpp.html">misc.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="modular_8cpp.html">modular.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="monty_8cpp.html">monty.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="operators_8cpp.html">operators.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="powers_8cpp.html">powers.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="primes_8cpp.html">primes.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="primitives_8cpp.html">primitives.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="random_8cpp.html">random.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="roots_8cpp.html">roots.cpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/libs/xint/example/<a class="el" href="xint__fibonacci_8cpp.html">xint_fibonacci.cpp</a> [code]</td><td class="indexvalue">Simple demo of xint sending the fibonacci sequence to stream output </td></tr>
- <tr><td class="indexkey">I:/boost-sandbox/xInt/libs/xint/example/<a class="el" href="xint__simple_8cpp.html">xint_simple.cpp</a> [code]</td><td class="indexvalue">Simple demo of xint including stream output </td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/functions.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,452 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>a</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>q</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>z</li>
- <li>~</li>
- </ul>
- </div>
-</div>
-<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__">- _ -</a></h3><ul>
-<li>_attach()
-: <a class="el" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">xint::integer</a>
-</li>
-<li>_detach()
-: <a class="el" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">xint::integer</a>
-</li>
-<li>_get_data()
-: <a class="el" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">xint::integer</a>
-</li>
-<li>_get_digit()
-: <a class="el" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">xint::integer</a>
-</li>
-<li>_get_length()
-: <a class="el" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">xint::integer</a>
-</li>
-<li>_init()
-: <a class="el" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">xint::integer</a>
-</li>
-<li>_make_unique()
-: <a class="el" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">xint::integer</a>
-</li>
-<li>_set_negative()
-: <a class="el" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">xint::integer</a>
-</li>
-<li>_throw_if_nan()
-: <a class="el" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
-<li>add()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">xint::detail::data_t</a>
-</li>
-<li>alloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">xint::detail::data_t</a>
-</li>
-<li>attach()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cannot_represent()
-: <a class="el" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">xint::cannot_represent</a>
-</li>
-<li>cOne
-: <a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">xint::integer</a>
-</li>
-<li>copy()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">xint::detail::data_t</a>
-</li>
-<li>count
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>cZero
-: <a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>data
-: <a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">xint::integer</a>
-</li>
-<li>data_t()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">xint::detail::data_t</a>
-</li>
-<li>detach()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">xint::detail::data_t</a>
-</li>
-<li>digits
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">xint::detail::data_t</a>
-</li>
-<li>dist_t
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>divide_by_zero()
-: <a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">xint::divide_by_zero</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>entropy()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">xint::strong_random_generator</a>
-</li>
-<li>even()
-: <a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gen
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>gen_t
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>has_fixed_range
-: <a class="el" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">xint::strong_random_generator</a>
-</li>
-<li>hex_digits()
-: <a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>impl
-: <a class="el" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">xint::strong_random_generator</a>
-</li>
-<li>impl_t()
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">xint::strong_random_generator::impl_t</a>
-</li>
-<li>intbits
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>integer()
-: <a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">xint::integer</a>
-</li>
-<li>invalid_base()
-: <a class="el" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">xint::invalid_base</a>
-</li>
-<li>invalid_digit()
-: <a class="el" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">xint::invalid_digit</a>
-</li>
-<li>invalid_modulus()
-: <a class="el" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">xint::invalid_modulus</a>
-</li>
-<li>invert()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mAllocated
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t</a>
-</li>
-<li>max()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">xint::strong_random_generator</a>
-</li>
-<li>max_value
-: <a class="el" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">xint::strong_random_generator</a>
-</li>
-<li>mCopies
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">xint::detail::data_t</a>
-</li>
-<li>min()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">xint::strong_random_generator</a>
-</li>
-<li>min_value
-: <a class="el" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">xint::strong_random_generator</a>
-</li>
-<li>minimum
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>mIsNegative
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">xint::detail::data_t</a>
-</li>
-<li>mLength
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t</a>
-</li>
-<li>mQuickDigits
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t</a>
-</li>
-<li>mStorage
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan()
-: <a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">xint::integer</a>
-</li>
-<li>negate()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">xint::detail::data_t</a>
-</li>
-<li>no_strong_random()
-: <a class="el" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">xint::no_strong_random</a>
-</li>
-<li>not_a_number()
-: <a class="el" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">xint::not_a_number</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>odd()
-: <a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">xint::integer</a>
-</li>
-<li>one()
-: <a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">xint::integer</a>
-</li>
-<li>operator%=()
-: <a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">xint::integer</a>
-</li>
-<li>operator&amp;=()
-: <a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">xint::integer</a>
-</li>
-<li>operator()()
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">xint::strong_random_generator::impl_t</a>
-, <a class="el" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">xint::detail::random_generator&lt; T &gt;</a>
-, <a class="el" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">xint::strong_random_generator</a>
-</li>
-<li>operator*=()
-: <a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">xint::integer</a>
-</li>
-<li>operator++()
-: <a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">xint::integer</a>
-</li>
-<li>operator+=()
-: <a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">xint::integer</a>
-</li>
-<li>operator--()
-: <a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">xint::integer</a>
-</li>
-<li>operator-=()
-: <a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">xint::integer</a>
-</li>
-<li>operator/=()
-: <a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">xint::integer</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">xint::integer</a>
-</li>
-<li>operator&lt;&lt;=()
-: <a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">xint::integer</a>
-</li>
-<li>operator=()
-: <a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">xint::integer</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">xint::integer</a>
-</li>
-<li>operator&gt;&gt;=()
-: <a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">xint::integer</a>
-</li>
-<li>operator^=()
-: <a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">xint::integer</a>
-</li>
-<li>operator|=()
-: <a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">xint::integer</a>
-</li>
-<li>overflow_error()
-: <a class="el" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">xint::overflow_error</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
-<li>quickset()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_generator()
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>realloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">xint::detail::data_t</a>
-</li>
-<li>result_type
-: <a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">xint::strong_random_generator</a>
-, <a class="el" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">xint::detail::base_random_generator</a>
-, <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">xint::strong_random_generator::impl_t</a>
-</li>
-<li>rng
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">xint::strong_random_generator::impl_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>shift_left()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">xint::detail::data_t</a>
-</li>
-<li>shift_right()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">xint::detail::data_t</a>
-</li>
-<li>sign()
-: <a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">xint::integer</a>
-</li>
-<li>skipLeadingZeros()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">xint::detail::data_t</a>
-</li>
-<li>strong_random_generator()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">xint::strong_random_generator</a>
-</li>
-<li>subtract()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">xint::detail::data_t</a>
-</li>
-<li>suggested
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>too_big()
-: <a class="el" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">xint::too_big</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">xint::integer</a>
-, <a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~integer()
-: <a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">xint::integer</a>
-</li>
-<li>~strong_random_generator()
-: <a class="el" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">xint::strong_random_generator</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,376 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>_</li>
- <li>a</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>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index__">- _ -</a></h3><ul>
-<li>_attach()
-: <a class="el" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">xint::integer</a>
-</li>
-<li>_detach()
-: <a class="el" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">xint::integer</a>
-</li>
-<li>_get_data()
-: <a class="el" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">xint::integer</a>
-</li>
-<li>_get_digit()
-: <a class="el" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">xint::integer</a>
-</li>
-<li>_get_length()
-: <a class="el" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">xint::integer</a>
-</li>
-<li>_init()
-: <a class="el" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">xint::integer</a>
-</li>
-<li>_make_unique()
-: <a class="el" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">xint::integer</a>
-</li>
-<li>_set_negative()
-: <a class="el" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">xint::integer</a>
-</li>
-<li>_throw_if_nan()
-: <a class="el" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
-<li>add()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">xint::detail::data_t</a>
-</li>
-<li>alloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">xint::detail::data_t</a>
-</li>
-<li>attach()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cannot_represent()
-: <a class="el" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">xint::cannot_represent</a>
-</li>
-<li>copy()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>data_t()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">xint::detail::data_t</a>
-</li>
-<li>detach()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">xint::detail::data_t</a>
-</li>
-<li>divide_by_zero()
-: <a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">xint::divide_by_zero</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>entropy()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">xint::strong_random_generator</a>
-</li>
-<li>even()
-: <a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>hex_digits()
-: <a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">xint::integer</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>impl_t()
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">xint::strong_random_generator::impl_t</a>
-</li>
-<li>integer()
-: <a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">xint::integer</a>
-</li>
-<li>invalid_base()
-: <a class="el" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">xint::invalid_base</a>
-</li>
-<li>invalid_digit()
-: <a class="el" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">xint::invalid_digit</a>
-</li>
-<li>invalid_modulus()
-: <a class="el" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">xint::invalid_modulus</a>
-</li>
-<li>invert()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>max()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">xint::strong_random_generator</a>
-</li>
-<li>min()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">xint::strong_random_generator</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan()
-: <a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">xint::integer</a>
-</li>
-<li>negate()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">xint::detail::data_t</a>
-</li>
-<li>no_strong_random()
-: <a class="el" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">xint::no_strong_random</a>
-</li>
-<li>not_a_number()
-: <a class="el" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">xint::not_a_number</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>odd()
-: <a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">xint::integer</a>
-</li>
-<li>one()
-: <a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">xint::integer</a>
-</li>
-<li>operator%=()
-: <a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">xint::integer</a>
-</li>
-<li>operator&amp;=()
-: <a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">xint::integer</a>
-</li>
-<li>operator()()
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">xint::strong_random_generator::impl_t</a>
-, <a class="el" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">xint::detail::random_generator&lt; T &gt;</a>
-, <a class="el" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">xint::strong_random_generator</a>
-</li>
-<li>operator*=()
-: <a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">xint::integer</a>
-</li>
-<li>operator++()
-: <a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">xint::integer</a>
-</li>
-<li>operator+=()
-: <a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">xint::integer</a>
-</li>
-<li>operator--()
-: <a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">xint::integer</a>
-</li>
-<li>operator-=()
-: <a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">xint::integer</a>
-</li>
-<li>operator/=()
-: <a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">xint::integer</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">xint::integer</a>
-</li>
-<li>operator&lt;&lt;=()
-: <a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">xint::integer</a>
-</li>
-<li>operator=()
-: <a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">xint::integer</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">xint::integer</a>
-</li>
-<li>operator&gt;&gt;=()
-: <a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">xint::integer</a>
-</li>
-<li>operator^=()
-: <a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">xint::integer</a>
-</li>
-<li>operator|=()
-: <a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">xint::integer</a>
-</li>
-<li>overflow_error()
-: <a class="el" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">xint::overflow_error</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
-<li>quickset()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_generator()
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>realloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>shift_left()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">xint::detail::data_t</a>
-</li>
-<li>shift_right()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">xint::detail::data_t</a>
-</li>
-<li>sign()
-: <a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">xint::integer</a>
-</li>
-<li>skipLeadingZeros()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">xint::detail::data_t</a>
-</li>
-<li>strong_random_generator()
-: <a class="el" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">xint::strong_random_generator</a>
-</li>
-<li>subtract()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>too_big()
-: <a class="el" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">xint::too_big</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z">- z -</a></h3><ul>
-<li>zero()
-: <a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">xint::integer</a>
-, <a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">xint::detail::data_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
-<li>~integer()
-: <a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">xint::integer</a>
-</li>
-<li>~strong_random_generator()
-: <a class="el" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">xint::strong_random_generator</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,159 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li class="current">Class Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li class="current">Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>cOne
-: <a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">xint::integer</a>
-</li>
-<li>count
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>cZero
-: <a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">xint::integer</a>
-</li>
-<li>data
-: <a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">xint::integer</a>
-</li>
-<li>digits
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">xint::detail::data_t</a>
-</li>
-<li>gen
-: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">xint::detail::random_generator&lt; T &gt;</a>
-</li>
-<li>has_fixed_range
-: <a class="el" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">xint::strong_random_generator</a>
-</li>
-<li>impl
-: <a class="el" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">xint::strong_random_generator</a>
-</li>
-<li>intbits
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>mAllocated
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t</a>
-</li>
-<li>max_value
-: <a class="el" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">xint::strong_random_generator</a>
-</li>
-<li>mCopies
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">xint::detail::data_t</a>
-</li>
-<li>min_value
-: <a class="el" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">xint::strong_random_generator</a>
-</li>
-<li>minimum
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits</a>
-</li>
-<li>mIsNegative
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">xint::detail::data_t</a>
-</li>
-<li>mLength
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t</a>
-</li>
-<li>mQuickDigits
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t</a>
-</li>
-<li>mStorage
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">xint::detail::data_t</a>
-</li>
-<li>rng
-: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">xint::strong_random_generator::impl_t</a>
-</li>
-<li>suggested
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,145 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/gcd.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<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="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">xint::lcm</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="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">xint::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-</table>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="accb7b3088be4aa6fea6fe05dc527f01c"></a><!-- doxytag: member="gcd.cpp::u1" ref="accb7b3088be4aa6fea6fe05dc527f01c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00049">49</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35cdbdce7a7d33309a6cabd35c878b2f"></a><!-- doxytag: member="gcd.cpp::u2" ref="a35cdbdce7a7d33309a6cabd35c878b2f" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00049">49</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7ac8f5a4ca4a1c621ad1c8ea155faaf2"></a><!-- doxytag: member="gcd.cpp::u3" ref="a7ac8f5a4ca4a1c621ad1c8ea155faaf2" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">integer <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="gcd_8cpp_source.html#l00049">49</a> of file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,195 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the Greatest Common Denominator function.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="keyword">namespace </span>xint {
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>{
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">struct </span>gcd_core {
-<a name="l00021"></a>00021 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="l00022"></a>00022 <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="l00023"></a>00023 {
-<a name="l00024"></a>00024 integer t1=m, t2=n-<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>(), t3=m;
-<a name="l00025"></a>00025 <span class="keywordflow">do</span> {
-<a name="l00026"></a>00026 <span class="keywordflow">do</span> {
-<a name="l00027"></a>00027 <span class="keywordflow">if</span> (<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>.even()) {
-<a name="l00028"></a>00028 <span class="keywordflow">if</span> (<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>.odd() || <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>.odd()) { <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>+=m; <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>+=n; }
-<a name="l00029"></a>00029 <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a> &gt;&gt;= 1;
-<a name="l00030"></a>00030 <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a> &gt;&gt;= 1;
-<a name="l00031"></a>00031 <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a> &gt;&gt;= 1;
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keywordflow">if</span> (t3.even() || <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a> &lt; t3) {
-<a name="l00035"></a>00035 <span class="comment">// Swap the u&#39;s with the t&#39;s</span>
-<a name="l00036"></a>00036 std::swap(<a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>, t1);
-<a name="l00037"></a>00037 std::swap(<a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>, t2);
-<a name="l00038"></a>00038 std::swap(<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>, t3);
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040 } <span class="keywordflow">while</span> (<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>.even());
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <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="l00043"></a>00043 <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="l00044"></a>00044 } <span class="keywordflow">while</span> (t3 &gt; 0);
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <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="l00047"></a>00047 }
-<a name="l00048"></a>00048
-<a name="l00049"></a><a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">00049</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="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="l00054"></a>00054 integer <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00055"></a>00055 num1.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00056"></a>00056 num2._throw_if_nan();
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordtype">int</span> sign1=num1.sign(), sign2=num2.sign();
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (sign1==0 &amp;&amp; sign2==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
-<a name="l00060"></a>00060 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> num2;
-<a name="l00061"></a>00061 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> num1;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 integer n(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1)), m(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num2));
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> k=0;
-<a name="l00066"></a>00066 <span class="keywordflow">while</span> (n.even() &amp;&amp; m.even()) { ++k; n &gt;&gt;= 1; m &gt;&gt;= 1; }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 gcd_core core(n, m);
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keywordflow">if</span> (core.u3.sign() != 0) <span class="keywordflow">return</span> core.u3 &lt;&lt; k;
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() &lt;&lt; k;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 integer <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00075"></a>00075 <span class="keywordflow">if</span> (num1.sign() == 0 || num2.sign() == 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1 * num2) / <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(num1, num2);
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 integer <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00080"></a>00080 <span class="comment">// Calculates the modular inverse of n mod m, or (n^(-1)) mod m</span>
-<a name="l00081"></a>00081 <span class="comment">// Defined as b, where n*b corresponds to 1 (mod m)</span>
-<a name="l00082"></a>00082 <span class="keywordflow">if</span> (m &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) {
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus();
-<a name="l00084"></a>00084 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00085"></a>00085 }
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keywordtype">int</span> sign=n.sign();
-<a name="l00088"></a>00088 <span class="keywordflow">if</span> (sign==0) {
-<a name="l00089"></a>00089 <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n.sign() &lt; 0) {
-<a name="l00091"></a>00091 integer _n(n);
-<a name="l00092"></a>00092 _n._set_negative(<span class="keyword">false</span>);
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 integer nn=<a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(_n, m);
-<a name="l00095"></a>00095 <span class="keywordflow">if</span> (nn.nan()) <span class="keywordflow">return</span> nn;
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 nn._set_negative(<span class="keyword">true</span>);
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> nn + m;
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keywordflow">if</span> (n.even() &amp;&amp; m.even()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 gcd_core core(n, m);
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> (core.u3 != <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
-<a name="l00106"></a>00106 <span class="keywordflow">return</span> core.u1;
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/globals.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,132 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li class="current">File Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Defines</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all file members with links to the files they belong to:<ul>
-<li>ddPowerOfTwo
-: <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
-</li>
-<li>main()
-: <a class="el" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_fibonacci.cpp</a>
-, <a class="el" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_simple.cpp</a>
-</li>
-<li>mDefaultGenerator
-: <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">random.cpp</a>
-</li>
-<li>mGeneratorFn
-: <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">random.cpp</a>
-</li>
-<li>mGeneratorObj
-: <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">random.cpp</a>
-</li>
-<li>mOldState
-: <a class="el" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">exception_blocker.cpp</a>
-</li>
-<li>mPtr
-: <a class="el" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">monty.cpp</a>
-</li>
-<li>mTable
-: <a class="el" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">monty.cpp</a>
-</li>
-<li>u1
-: <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">gcd.cpp</a>
-</li>
-<li>u2
-: <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">gcd.cpp</a>
-</li>
-<li>u3
-: <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">gcd.cpp</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,101 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li class="current">File Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li class="current">Defines</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>ddPowerOfTwo
-: <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,102 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li class="current">File Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Defines</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>main()
-: <a class="el" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_fibonacci.cpp</a>
-, <a class="el" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_simple.cpp</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,125 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li class="current">File Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li class="current">Variables</li>
- <li>Defines</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>mDefaultGenerator
-: <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">random.cpp</a>
-</li>
-<li>mGeneratorFn
-: <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">random.cpp</a>
-</li>
-<li>mGeneratorObj
-: <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">random.cpp</a>
-</li>
-<li>mOldState
-: <a class="el" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">exception_blocker.cpp</a>
-</li>
-<li>mPtr
-: <a class="el" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">monty.cpp</a>
-</li>
-<li>mTable
-: <a class="el" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">monty.cpp</a>
-</li>
-<li>u1
-: <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">gcd.cpp</a>
-</li>
-<li>u2
-: <a class="el" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">gcd.cpp</a>
-</li>
-<li>u3
-: <a class="el" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">gcd.cpp</a>
-</li>
-</ul>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/index.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/index.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li class="current">Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>xInt eXtended Integer Library Documentation</h1></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,96 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/integer.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;../xint_data_t.hpp&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,312 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the definitions for the integer member functions.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor"> #define XINT_DISABLE_COPY_ON_WRITE</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">const</span> integer *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">integer::cZero</a>=0, *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">integer::cOne</a>=0;
-<a name="l00024"></a>00024 <span class="keyword">const</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
-<a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">00026</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>() {
-<a name="l00027"></a>00027 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>();
-<a name="l00028"></a>00028 }
-<a name="l00029"></a>00029
-<a name="l00030"></a><a class="code" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">00030</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) {
-<a name="l00031"></a>00031 <span class="keywordflow">if</span> (b.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=0;
-<a name="l00032"></a>00032 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(b);
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034
-<a name="l00035"></a><a class="code" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">00035</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00036"></a>00036 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(str, base));
-<a name="l00037"></a>00037 }
-<a name="l00038"></a>00038
-<a name="l00039"></a><a class="code" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">00039</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;) {
-<a name="l00040"></a>00040 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=0;
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042
-<a name="l00043"></a><a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">00043</a> <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">integer::~integer</a>() {
-<a name="l00044"></a>00044 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00047"></a><a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">00047</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init) {
-<a name="l00048"></a>00048 <span class="keywordflow">try</span> {
-<a name="l00049"></a>00049 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(init);
-<a name="l00050"></a>00050 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00051"></a>00051 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055
-<a name="l00056"></a><a class="code" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">00056</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
-<a name="l00057"></a>00057 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) : 0);
-<a name="l00059"></a>00059 <span class="preprocessor"> #else</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
-<a name="l00061"></a>00061 <span class="preprocessor"> #endif</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064
-<a name="l00065"></a><a class="code" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">00065</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(boost::uintmax_t n) {
-<a name="l00066"></a>00066 <span class="keyword">static</span> <span class="keywordtype">int</span> bits=std::numeric_limits&lt;boost::uintmax_t&gt;::digits;
-<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keywordtype">int</span> maxDigits=(bits+<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>-1)/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keywordflow">try</span> {
-<a name="l00070"></a>00070 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>;
-<a name="l00071"></a>00071 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00072"></a>00072 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(maxDigits);
-<a name="l00077"></a>00077 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x=0; n != 0; ++x) {
-<a name="l00078"></a>00078 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>);
-<a name="l00079"></a>00079 n &gt;&gt;= <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a><a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">00084</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">integer::_attach</a>() {
-<a name="l00085"></a>00085 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>();
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087
-<a name="l00088"></a><a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">00088</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">integer::_detach</a>() {
-<a name="l00089"></a>00089 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>()) <span class="keyword">delete</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091
-<a name="l00092"></a><a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">00092</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">integer::_make_unique</a>() {
-<a name="l00093"></a>00093 <span class="keywordflow">try</span> {
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a> &gt; 1) {
-<a name="l00095"></a>00095 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *newstore=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
-<a name="l00096"></a>00096 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00097"></a>00097 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=newstore;
-<a name="l00098"></a>00098 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00101"></a>00101 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00105"></a><a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">00105</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">integer::_set_negative</a>(<span class="keywordtype">bool</span> negative) {
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (negative != (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)) *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(*<span class="keyword">this</span>);
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00109"></a><a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">00109</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00110"></a>00110 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00111"></a>00111 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==1);
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113
-<a name="l00114"></a><a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">00114</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00115"></a>00115 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==0);
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118
-<a name="l00119"></a><a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">00119</a> <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">integer::sign</a>()<span class="keyword"> const </span>{
-<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>) <span class="keywordflow">return</span> -1;
-<a name="l00122"></a>00122 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()==1 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0)==0) <span class="keywordflow">return</span> 0;
-<a name="l00123"></a>00123 <span class="keywordflow">return</span> 1;
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125
-<a name="l00126"></a><a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">00126</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">integer::nan</a>()<span class="keyword"> const </span>{
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>==0);
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129
-<a name="l00130"></a><a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">00130</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00131"></a>00131 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00132"></a>00132 <span class="keywordtype">size_t</span> bits=<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(*<span class="keyword">this</span>);
-<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 }
-<a name="l00135"></a>00135
-<a name="l00136"></a><a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">00136</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend) {
-<a name="l00137"></a>00137 <span class="keywordflow">if</span> ((<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) == (addend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)
-<a name="l00138"></a>00138 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>)
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="comment">// Fast in-place add</span>
-<a name="l00141"></a>00141 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00142"></a>00142 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a>(addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
-<a name="l00143"></a>00143 } <span class="keywordflow">else</span> {
-<a name="l00144"></a>00144 <span class="comment">// This works for all cases</span>
-<a name="l00145"></a>00145 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(*<span class="keyword">this</span>, addend);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a><a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">00150</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend) {
-<a name="l00151"></a>00151 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; subtrahend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; *<span class="keyword">this</span> &gt;= subtrahend) {
-<a name="l00152"></a>00152 <span class="comment">// Fast in-place subtract</span>
-<a name="l00153"></a>00153 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00154"></a>00154 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(subtrahend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
-<a name="l00155"></a>00155 } <span class="keywordflow">else</span> {
-<a name="l00156"></a>00156 <span class="comment">// This works for all cases</span>
-<a name="l00157"></a>00157 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(*<span class="keyword">this</span>, subtrahend);
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161
-<a name="l00162"></a><a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">00162</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
-<a name="l00163"></a>00163 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00164"></a>00164 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
-<a name="l00165"></a>00165 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) : 0);
-<a name="l00166"></a>00166 <span class="preprocessor"> #else</span>
-<a name="l00167"></a>00167 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
-<a name="l00168"></a>00168 <span class="preprocessor"> #endif</span>
-<a name="l00169"></a>00169 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00170"></a>00170 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00171"></a>00171 }
-<a name="l00172"></a>00172
-<a name="l00173"></a><a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">00173</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00174"></a><a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">00174</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00175"></a><a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">00175</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00176"></a>00176
-<a name="l00177"></a><a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">00177</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00178"></a><a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">00178</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00179"></a><a class="code" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">00179</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00180"></a><a class="code" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">00180</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00181"></a>00181
-<a name="l00182"></a><a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">00182</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00183"></a><a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">00183</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00184"></a><a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">00184</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00185"></a><a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">00185</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00186"></a><a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">00186</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00187"></a>00187
-<a name="l00188"></a><a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">00188</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
-<a name="l00189"></a>00189 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00190"></a>00190 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00191"></a>00191 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(shift);
-<a name="l00192"></a>00192 }
-<a name="l00193"></a>00193 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00196"></a><a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">00196</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
-<a name="l00197"></a>00197 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00198"></a>00198 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00199"></a>00199 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(shift);
-<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="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">00204</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>() {
-<a name="l00205"></a>00205 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>==0) <a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(0);
-<a name="l00206"></a>00206 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>;
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208
-<a name="l00209"></a><a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">00209</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() {
-<a name="l00210"></a>00210 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>==0) <a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(1);
-<a name="l00211"></a>00211 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213
-<a name="l00214"></a><a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">00214</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">integer::_get_digit</a>(<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{
-<a name="l00215"></a>00215 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index];
-<a name="l00216"></a>00216 }
-<a name="l00217"></a>00217
-<a name="l00218"></a><a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">00218</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">integer::_get_length</a>()<span class="keyword"> const </span>{
-<a name="l00219"></a>00219 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
-<a name="l00220"></a>00220 }
-<a name="l00221"></a>00221
-<a name="l00222"></a><a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">00222</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">integer::_throw_if_nan</a>()<span class="keyword"> const </span>{
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>();
-<a name="l00224"></a>00224 }
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,99 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/misc.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint::opt_secure_mode</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">xint::opt_thread_safe</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint::log2</a> (const integer &amp;n)</td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,134 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the definitions for functions that don&#39;t fall into any</span>
-<a name="l00012"></a>00012 <span class="comment"> of the other categories.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="keyword">namespace </span>xint {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">opt_secure_mode</a>() {
-<a name="l00020"></a>00020 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00022"></a>00022 <span class="preprocessor"> #else</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00024"></a>00024 <span class="preprocessor"> #endif</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span>}
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">opt_thread_safe</a>() {
-<a name="l00028"></a>00028 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00030"></a>00030 <span class="preprocessor"> #else</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00032"></a>00032 <span class="preprocessor"> #endif</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span>}
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00036"></a>00036 n._throw_if_nan();
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keywordtype">size_t</span> r=<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a> * n._get_length();
-<a name="l00039"></a>00039 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> mask=<a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">detail::digit_hibit</a>, d=n._get_digit(n._get_length()-1);
-<a name="l00040"></a>00040 <span class="keywordflow">while</span> (mask!=0) {
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> ((mask &amp; d)!=0) <span class="keywordflow">break</span>;
-<a name="l00042"></a>00042 mask&gt;&gt;=1;
-<a name="l00043"></a>00043 --r;
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> r;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,101 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/modular.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;<a class="el" href="modular_8cpp_source.html">../xint_monty.hpp</a>&quot;</code><br/>
-
-<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="namespacexint.html">xint</a></td></tr>
-<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="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod</a> (const integer &amp;n, const integer &amp;modBy)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;modulus)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">xint::sqrmod</a> (const integer &amp;n, const integer &amp;modulus)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">xint::powmod</a> (const integer &amp;n, const integer &amp;exponent, const integer &amp;modulus, bool noMontgomery)</td></tr>
-</table>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,161 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/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"> This file contains the basic modular math functions, except invmod, which</span>
-<a name="l00012"></a>00012 <span class="comment"> is in gcd.cpp to share gcd_core.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;../xint_monty.hpp&quot;</span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>xint {
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 integer <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; modBy) {
-<a name="l00021"></a>00021 integer r=<a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(n, modBy).second;
-<a name="l00022"></a>00022 <span class="keywordflow">if</span> (r.sign() &lt; 0) r+=<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(modBy);
-<a name="l00023"></a>00023 <span class="keywordflow">return</span> r;
-<a name="l00024"></a>00024 }
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 integer <a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">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; modulus) {
-<a name="l00027"></a>00027 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(n * by, modulus);
-<a name="l00028"></a>00028 }
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 integer <a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; modulus) {
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(<a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(n), modulus);
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 integer <a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; exponent, <span class="keyword">const</span> integer&amp;
-<a name="l00035"></a>00035 modulus, <span class="keywordtype">bool</span> noMontgomery)
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (modulus &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) {
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus();
-<a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> (exponent.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; exponent.odd());
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 integer answer(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
-<a name="l00048"></a>00048 <span class="comment">// modulus is odd.</span>
-<a name="l00049"></a>00049 <span class="keywordflow">if</span> (modulus.odd() &amp;&amp; !noMontgomery) {
-<a name="l00050"></a>00050 answer=<a class="code" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">montgomeryPowerMod</a>(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n) % modulus, <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(exponent), modulus);
-<a name="l00051"></a>00051 } <span class="keywordflow">else</span> {
-<a name="l00052"></a>00052 integer p(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n));
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keywordtype">size_t</span> length=exponent._get_length(), lastBitCount=0;
-<a name="l00055"></a>00055 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> ee(exponent._get_digit(length-1));
-<a name="l00056"></a>00056 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
-<a name="l00059"></a>00059 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> e(exponent._get_digit(eIndex));
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
-<a name="l00062"></a>00062 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>));
-<a name="l00063"></a>00063 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
-<a name="l00064"></a>00064 <span class="keywordflow">if</span> (e &amp; 0x01) answer=<a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a>(answer, p, modulus);
-<a name="l00065"></a>00065 p=<a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(p, modulus);
-<a name="l00066"></a>00066 e &gt;&gt;= 1;
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 answer._set_negative(neg);
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> answer;
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,158 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/monty.cpp File Reference</h1><code>#include &quot;../xint.hpp&quot;</code><br/>
-<code>#include &quot;../xint_data_t.hpp&quot;</code><br/>
-<code>#include &lt;vector&gt;</code><br/>
-
-<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="namespacexint.html">xint</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="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(p)&nbsp;&nbsp;&nbsp;(doubledigit_t(1) &lt;&lt; p)</td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">xint::inverse0</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">xint::montgomeryR</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">xint::toMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">xint::fromMontgomeryForm</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">xint::montgomeryMultiplyMod</a> (const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">xint::montgomeryPowerMod</a> (const integer &amp;a, const integer &amp;e, const integer &amp;n)</td></tr>
-</table>
-<hr/><h2>Define Documentation</h2>
-<a class="anchor" id="a5e044fcc16f6eb5e891ef312f47209ac"></a><!-- doxytag: member="monty.cpp::ddPowerOfTwo" ref="a5e044fcc16f6eb5e891ef312f47209ac" args="(p)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define ddPowerOfTwo</td>
- <td>(</td>
- <td class="paramtype">p&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td>&nbsp;&nbsp;&nbsp;(doubledigit_t(1) &lt;&lt; p)</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00112">112</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a997daa830ee78d2ad1a859d2f71594f6"></a><!-- doxytag: member="monty.cpp::mPtr" ref="a997daa830ee78d2ad1a859d2f71594f6" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TUTable* <a class="el" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">mPtr</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00148">148</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a68c397b3981dc1bc151f425c0aee31b9"></a><!-- doxytag: member="monty.cpp::mTable" ref="a68c397b3981dc1bc151f425c0aee31b9" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">value_t* <a class="el" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">mTable</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="monty_8cpp_source.html#l00150">150</a> of file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
-
-</div>
-</div>
-</div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,354 +0,0 @@
-
-<!-- CUSTOMISE THIS FILE! -->
-
-<!-- Sample custom Doxygen header my_doxygen_header.html -->-
-
-<!-- Change copyright to YOUR name below: -->
-
-<!-- Copyright 2009 Paul A. Bristow. -->
-<!-- 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) -->
-
-<html> <!-- </html> is in footer. -->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-
- <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
-
- <!-- Add your custom stylesheet here ! -->
- <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
- <!-- Note that this overrides any stylesheet specified in doxyfile setting HTML_STYLESHEET="mystylesheet.css" ! -->
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
-</head>
-
-<!-- Add draft background here if, for example, not yet accepted or otherwise not finalised! -->
-<body style="background-image: url(../images/draft.png);"> <!-- </body> is in footer. -->
-<!-- Add your logo here ! -->
-<!-- Boost logo here if accepted after review, else some "Boost in mind" logo, for example the one below, or "proposed to Boost" ! -->
-<table cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td valign="top"><img alt="Written with Boost C++ Libraries in mind." src="../images/boost_in_mind.png" height="60" width="350"/></td>
- </tr>
- </tbody>
-</table>
-<p>
- <br/> <!-- Some space below logo, if needed. -->
-</p>
-
-<!-- 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>I:/boost-sandbox/xInt/boost/xint/src/monty.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"> This file contains the definitions for functions based on the Montgomery</span>
-<a name="l00012"></a>00012 <span class="comment"> reduction. Used for an extra-fast powerMod.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>xint {
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="keyword">using namespace </span>detail;
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">inverse0</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00025"></a>00025 <span class="comment">// Using the Dussé and Kalisk simplification</span>
-<a name="l00026"></a>00026 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> x = 2, y = 1;
-<a name="l00027"></a>00027 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> n0 = n._get_digit(0);
-<a name="l00028"></a>00028 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 2; i &lt;= <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>; ++i, x &lt;&lt;= 1)
-<a name="l00029"></a>00029 <span class="keywordflow">if</span> (x &lt; ((n0 * y) &amp; ((x &lt;&lt; 1) - 1)))
-<a name="l00030"></a>00030 y += x;
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(x - y);
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 integer <a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * n._get_data()-&gt;mLength);
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 integer <a class="code" href="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">toMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00039"></a>00039 <span class="keywordflow">return</span> (n * <a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(m) % m);
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 integer <a class="code" href="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">fromMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00043"></a>00043 integer inv=<a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(m), m);
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (inv.nan()) {
-<a name="l00045"></a>00045 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus(<span class="stringliteral">&quot;modulus has no inverse&quot;</span>);
-<a name="l00046"></a>00046 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048 <span class="keywordflow">return</span> (n * inv % m);
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="comment">//integer montgomeryReduction(const integer&amp; m, const integer&amp; mPrime, const</span>
-<a name="l00052"></a>00052 <span class="comment">// integer&amp; T)</span>
-<a name="l00053"></a>00053 <span class="comment">//{</span>
-<a name="l00054"></a>00054 <span class="comment">// // Unstated parameter b is digit_overflowbit, a power of 2</span>
-<a name="l00055"></a>00055 <span class="comment">// // Unstated parameter n is m.data-&gt;mLength</span>
-<a name="l00056"></a>00056 <span class="comment">// // Unstated parameter R is b^n</span>
-<a name="l00057"></a>00057 <span class="comment">// // gcd(m, b)==1, or in other words, m must be an odd number</span>
-<a name="l00058"></a>00058 <span class="comment">// // m&#39;=-m^(-1) mod b (precalculated)</span>
-<a name="l00059"></a>00059 <span class="comment">// // T is any arbitrary number greater than zero and &lt;= m*R</span>
-<a name="l00060"></a>00060 <span class="comment">//</span>
-<a name="l00061"></a>00061 <span class="comment">// int n=m._get_data()-&gt;mLength;</span>
-<a name="l00062"></a>00062 <span class="comment">// doubledigit_t mprime = mPrime._get_data()-&gt;digits[0];</span>
-<a name="l00063"></a>00063 <span class="comment">//</span>
-<a name="l00064"></a>00064 <span class="comment">// integer A(T);</span>
-<a name="l00065"></a>00065 <span class="comment">// for (int i=0; i &lt; n; ++i) {</span>
-<a name="l00066"></a>00066 <span class="comment">// integer ui((A._get_data()-&gt;digits[i] * mprime) &amp; digit_mask);</span>
-<a name="l00067"></a>00067 <span class="comment">// ui &lt;&lt;= (bits_per_digit * i); // Fast-multiply by b^i</span>
-<a name="l00068"></a>00068 <span class="comment">// A+=(ui*m);</span>
-<a name="l00069"></a>00069 <span class="comment">// }</span>
-<a name="l00070"></a>00070 <span class="comment">// A &gt;&gt;= (bits_per_digit * n); // Fast-divide by b^n</span>
-<a name="l00071"></a>00071 <span class="comment">// if (A &gt;= m) A -= m;</span>
-<a name="l00072"></a>00072 <span class="comment">// return A;</span>
-<a name="l00073"></a>00073 <span class="comment">//}</span>
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 integer <a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp; b, <span class="keyword">const</span> integer&amp; n,
-<a name="l00076"></a>00076 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> nPrime0)
-<a name="l00077"></a>00077 {
-<a name="l00078"></a>00078 <span class="comment">// Using the Dussé and Kalisk simplification</span>
-<a name="l00079"></a>00079 <span class="comment">// Unstated parameter B is a power of two representing the number of values</span>
-<a name="l00080"></a>00080 <span class="comment">// that a single digit can hold, i.e. digit_overflowbit</span>
-<a name="l00081"></a>00081 <span class="comment">// Unstated parameter L is the number of digits in the modulus, i.e.</span>
-<a name="l00082"></a>00082 <span class="comment">// n._get_length()</span>
-<a name="l00083"></a>00083 <span class="comment">// Unstated parameter r is B^L</span>
-<a name="l00084"></a>00084 <span class="comment">// nPrime0 is nPrime mod B, or digit zero of nPrime</span>
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <span class="keyword">const</span> integer B(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>);
-<a name="l00087"></a>00087 <span class="keyword">const</span> <span class="keywordtype">size_t</span> L(n._get_length()), L1(L-1);
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 integer t=a*b;
-<a name="l00090"></a>00090 <span class="keywordtype">size_t</span> i=0;
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keywordflow">do</span> {
-<a name="l00093"></a>00093 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mi=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(t._get_digit(i))*nPrime0);
-<a name="l00094"></a>00094 t += (n * mi) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * i);
-<a name="l00095"></a>00095 } <span class="keywordflow">while</span> (++i &lt;= L1);
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 t &gt;&gt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * L); <span class="comment">// Fast divide by r</span>
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> (t &gt;= n ? t - n : t);
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keyword">namespace </span>{
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="comment">// cMaxK sets the balance between memory/precalculations required and the number</span>
-<a name="l00104"></a>00104 <span class="comment">// of calculations required for an exponentiation. Increasing it can only reduce</span>
-<a name="l00105"></a>00105 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
-<a name="l00106"></a>00106 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
-<a name="l00107"></a>00107 <span class="comment">// provides a good balance.</span>
-<a name="l00108"></a>00108 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK=8;
-<a name="l00109"></a>00109 <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="l00110"></a>00110 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> std::vector&lt;integer&gt; vxint_t;
-<a name="l00112"></a><a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">00112</a> <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
-<a name="l00113"></a>00113 <span class="preprocessor"></span>
-<a name="l00114"></a>00114 <span class="comment">// The splitIntoKBitDigits function assumes that cMaxK &lt;= bits_per_digit+1,</span>
-<a name="l00115"></a>00115 <span class="comment">// it won&#39;t work properly if it isn&#39;t.</span>
-<a name="l00116"></a>00116 BOOST_STATIC_ASSERT(cMaxK &lt;= <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>+1);
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keyword">class </span>TUTable {
-<a name="l00119"></a>00119 <span class="keyword">public</span>:
-<a name="l00120"></a>00120 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 <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#a68c397b3981dc1bc151f425c0aee31b9">mTable</a>[x]; }
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
-<a name="l00125"></a>00125 <span class="comment">// Construct a singleton instance on demand</span>
-<a name="l00126"></a>00126 <span class="keywordflow">if</span> (<a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">mPtr</a>==0) <a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">mPtr</a>=<span class="keyword">new</span> TUTable;
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> *<a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">mPtr</a>;
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="keyword">private</span>:
-<a name="l00131"></a>00131 TUTable(): <a class="code" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">mTable</a>(new value_t[<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK)]) {
-<a name="l00132"></a>00132 value_t *p=&amp;<a class="code" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">mTable</a>[0], *pe=p+<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(cMaxK);
-<a name="l00133"></a>00133 *p++=std::make_pair(0, 0);
-<a name="l00134"></a>00134 <span class="keywordtype">int</span> i=1;
-<a name="l00135"></a>00135 <span class="keywordflow">while</span> (p!=pe) *p++=calculateValues(i++);
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 ~TUTable() { <span class="keyword">delete</span>[] <a class="code" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">mTable</a>; }
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 std::pair&lt;int, int&gt; calculateValues(<span class="keywordtype">int</span> x) {
-<a name="l00140"></a>00140 <span class="keywordtype">int</span> r=0;
-<a name="l00141"></a>00141 <span class="keywordflow">while</span> (1) {
-<a name="l00142"></a>00142 <span class="keywordflow">if</span> (x &amp; 0x01) <span class="keywordflow">return</span> std::make_pair(r, x);
-<a name="l00143"></a>00143 ++r;
-<a name="l00144"></a>00144 x &gt;&gt;= 1;
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a><a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">00148</a> <span class="keyword">static</span> TUTable *<a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">mPtr</a>;
-<a name="l00149"></a>00149
-<a name="l00150"></a><a class="code" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">00150</a> value_t *<a class="code" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">mTable</a>;
-<a name="l00151"></a>00151 };
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 TUTable *<a class="code" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">TUTable::mPtr</a>=0;
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keywordtype">int</span> mostEfficientK(<span class="keyword">const</span> integer&amp; e) {
-<a name="l00156"></a>00156 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> k=cMaxK, kTarget=<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(e)-1;
-<a name="l00157"></a>00157 <span class="keywordflow">while</span> (k &gt; 1 &amp;&amp; ((k - 1) * (k &lt;&lt; ((k - 1) &lt;&lt; 1))
-<a name="l00158"></a>00158 / (<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k) - k - 1)) &gt;= kTarget)
-<a name="l00159"></a>00159 --k;
-<a name="l00160"></a>00160 <span class="keywordflow">return</span> int(k);
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 vxint_t precalculateOddPowersOfAa(<span class="keyword">const</span> integer&amp; a, <span class="keyword">const</span> integer&amp;
-<a name="l00164"></a>00164 r, <span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> k)
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166 integer aa=a*r%n, aSquared=a*a%n;
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168 vxint_t rval;
-<a name="l00169"></a>00169 rval.reserve(<span class="keywordtype">size_t</span>(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)));
-<a name="l00170"></a>00170 rval.push_back(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
-<a name="l00171"></a>00171 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keywordflow">for</span> (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> i=3, ie=(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)); i&lt;ie; i+=2) {
-<a name="l00174"></a>00174 aa=aa*aSquared%n;
-<a name="l00175"></a>00175 rval.push_back(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
-<a name="l00176"></a>00176 rval.push_back(aa); <span class="comment">// Odd power</span>
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 <span class="keywordflow">return</span> rval;
-<a name="l00180"></a>00180 }
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 vkbitdigit_t splitIntoKBitDigits(<span class="keyword">const</span> integer&amp; e, <span class="keywordtype">size_t</span> k) {
-<a name="l00183"></a>00183 <span class="keywordtype">size_t</span> eBits=<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(e), eDigits=(eBits+k-1)/k, i=0, bitsInHopper=0;
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 vkbitdigit_t rval;
-<a name="l00186"></a>00186 rval.reserve(eDigits);
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> hopper=0, mask=(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1)&lt;&lt;k)-1;
-<a name="l00189"></a>00189 <span class="keywordflow">while</span> (eDigits-- &gt; 0) {
-<a name="l00190"></a>00190 <span class="keywordflow">if</span> (bitsInHopper &lt; k &amp;&amp; i &lt; e._get_length()) {
-<a name="l00191"></a>00191 <span class="comment">// Add more bits to the hopper</span>
-<a name="l00192"></a>00192 hopper = hopper | (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(e._get_digit(i++)) &lt;&lt; bitsInHopper);
-<a name="l00193"></a>00193 bitsInHopper += <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// Grab k bits off the bottom</span>
-<a name="l00197"></a>00197 <span class="keywordflow">if</span> (bitsInHopper &gt; 0) {
-<a name="l00198"></a>00198 rval.push_back(kbitdigit_t(hopper &amp; mask));
-<a name="l00199"></a>00199 hopper &gt;&gt;= k;
-<a name="l00200"></a>00200 bitsInHopper-=k;
-<a name="l00201"></a>00201 } <span class="keywordflow">else</span> {
-<a name="l00202"></a>00202 rval.push_back(0);
-<a name="l00203"></a>00203 }
-<a name="l00204"></a>00204 }
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 <span class="keywordflow">return</span> rval;
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 } <span class="comment">// namespace</span>
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 integer <a class="code" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">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="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="comment">// 0 &lt;= a &lt; n, n is odd</span>
-<a name="l00214"></a>00214 <span class="comment">// Returns a^e mod n</span>
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
-<a name="l00219"></a>00219 <span class="keywordflow">if</span> (n.even()) {
-<a name="l00220"></a>00220 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
-<a name="l00221"></a>00221 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
-<a name="l00222"></a>00222 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 <span class="comment">// Precalculate some values</span>
-<a name="l00226"></a>00226 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
-<a name="l00227"></a>00227 <span class="keyword">const</span> integer r(<a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(n));
-<a name="l00228"></a>00228 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> nPrime0(<a class="code" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">inverse0</a>(n));
-<a name="l00229"></a>00229 <span class="keyword">const</span> vxint_t oddPowersOfAa(precalculateOddPowersOfAa(a, r, n, k));
-<a name="l00230"></a>00230
-<a name="l00231"></a>00231 <span class="comment">// Slice the exponent (e) up into k-bit digits</span>
-<a name="l00232"></a>00232 vkbitdigit_t eDigits(splitIntoKBitDigits(e, k));
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 integer pp;
-<a name="l00235"></a>00235
-<a name="l00236"></a>00236 kbitdigit_t i=eDigits.back();
-<a name="l00237"></a>00237 eDigits.pop_back();
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00239"></a>00239 pp=r%n;
-<a name="l00240"></a>00240 } <span class="keywordflow">else</span> {
-<a name="l00241"></a>00241 std::pair&lt;int, int&gt; tu=tuTable[i];
-<a name="l00242"></a>00242 pp=oddPowersOfAa[tu.second];
-<a name="l00243"></a>00243 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00244"></a>00244 }
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 <span class="keywordflow">while</span> (!eDigits.empty()) {
-<a name="l00247"></a>00247 i=eDigits.back();
-<a name="l00248"></a>00248 eDigits.pop_back();
-<a name="l00249"></a>00249
-<a name="l00250"></a>00250 <span class="keywordflow">if</span> (i == 0) {
-<a name="l00251"></a>00251 <span class="keywordtype">int</span> t=int(k);
-<a name="l00252"></a>00252 <span class="keywordflow">while</span> (t-- &gt; 0) pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00253"></a>00253 } <span class="keywordflow">else</span> {
-<a name="l00254"></a>00254 std::pair&lt;int, int&gt; tu=tuTable[i];
-<a name="l00255"></a>00255
-<a name="l00256"></a>00256 <span class="keywordtype">size_t</span> s=k-tu.first;
-<a name="l00257"></a>00257 <span class="keywordflow">while</span> (s-- &gt; 0) pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259 pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, oddPowersOfAa[tu.second], n, nPrime0);
-<a name="l00260"></a>00260
-<a name="l00261"></a>00261 <span class="keywordflow">while</span> (tu.first-- &gt; 0) pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
-<a name="l00262"></a>00262 }
-<a name="l00263"></a>00263 }
-<a name="l00264"></a>00264
-<a name="l00265"></a>00265 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>(), n, nPrime0);
-<a name="l00266"></a>00266 }
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268 } <span class="comment">// namespace xint</span>
-</pre></div></div>
-<!-- xint custom Doxygen footer my_doxygen_footer.html -->-
-
-<!-- Copyright 2009 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) -->
-
-<hr size="1"/>
-<table width="100%">
-<tbody>
- <tr>
- <address style="text-align: left;">
- <p>Use, modification and distribution are subject to the Boost Software License, Version 1.0.<br/>
- (See accompanying file LICENSE_1_0.txt or copy at&nbsp;
- http://www.boost.org/LICENSE_1_0.txt )</p>
- <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
- <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
- <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
- </address>
- </tr>
-</tbody>
-</table>
- <!-- You can also add a footer logo, taking care that the location of the footer.png is correct. -->
- <!-- <img src="../images/my_footer.png" alt="Boost Doxygen documentation footer.png" -->
- </body> <!-- <body> is in doxygen_header.html -->
-</html><!-- <html> is in doxygen_header.html -->
-
-

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/my_doxygen.css
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/my_doxygen.css 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,510 +0,0 @@
-/*
- The standard CSS for doxygen
- with changed code (syntax) colorization my_doxygen.css */
-/*
- Copyright Paul A. Bristow 2009
- Use, modification and distribution are subject to 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)
-*/
-
-body, table, div, p, dl {
- font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
- font-size: 12px;
-}
-
-/* @group Heading Levels */
-
-h1 {
- text-align: center