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;
- font-size: 150%;
-}
-
-h2 {
- font-size: 120%;
-}
-
-h3 {
- font-size: 100%;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #153788;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #1b77c5;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #6666cc;
- color: #ffffff;
- border: 1px double #9295C2;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
-}
-
-a.codeRef {
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-.fragment {
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-pre.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-
-td.indexkey {
- background-color: #e8eef2;
- font-weight: bold;
- border: 1px solid #CCCCCC;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
-}
-
-td.indexvalue {
- background-color: #e8eef2;
- border: 1px solid #CCCCCC;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #f0f0f0;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code (syntax) Colorization */
-
-span.keyword {
- color: blue
-}
-
-span.keywordtype {
- color: blue
-}
-
-span.keywordflow {
- color: blue
-}
-
-span.comment {
- color: green
-}
-
-span.preprocessor {
- color: darkblue
-}
-
-span.stringliteral {
- color: brown
-}
-
-span.charliteral {
- color: brown
-}
-
-span.operator {
- color: red
-}
-span.vhdldigit {
- color: red
-}
-
-span.vhdlchar {
- color: brown
-}
-
-span.vhdlkeyword {
- color: blue
-}
-
-span.vhdllogic {
- color: magenta
-}
-
-/* @end */
-
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #84b0c7;
-}
-
-th.dirtab {
- background: #e8eef2;
- font-weight: bold;
-}
-
-hr {
- height: 0;
- border: none;
- border-top: 1px solid #666;
-}
-
-/* @group Member Descriptions */
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #FAFAFA;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #ccc;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memTemplParams {
- color: #606060;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation. */
-
-.memtemplate {
- font-size: 80%;
- color: #606060;
- font-weight: normal;
- margin-left: 3px;
-}
-
-.memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
-}
-
-.memname {
- white-space: nowrap;
- font-weight: bold;
-}
-
-.memproto, .memdoc {
- border: 1px solid #84b0c7;
-}
-
-.memproto {
- padding: 0;
- background-color: #d5e1e8;
- font-weight: bold;
- -webkit-border-top-left-radius: 8px;
- -webkit-border-top-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -moz-border-radius-topleft: 8px;
- -moz-border-radius-topright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-
-}
-
-.memdoc {
- padding: 2px 5px;
- background-color: #eef3f5;
- border-top-width: 0;
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -moz-border-radius-bottomleft: 8px;
- -moz-border-radius-bottomright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view. */
-
-.ftvtree {
- font-family: sans-serif;
- margin: 0.5em;
-}
-
-/* These are for tree view when used as main index. */
-
-.directory {
- font-size: 9pt;
- font-weight: bold;
-}
-
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice. Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
- height: 61px;
- background-repeat: no-repeat;
- background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
- display: none;
-}
-*/
-
-.directory > h3 {
- margin-top: 0;
-}
-
-.directory p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory div {
- display: none;
- margin: 0px;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-/* These are for tree view when not used as main index. */
-
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
-}
-
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-.directory-alt > h3 {
- margin-top: 0;
-}
-
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory-alt div {
- display: none;
- margin: 0px;
-}
-
-.directory-alt img {
- vertical-align: -30%;
-}
-
-/* @end */
-
-address {
- font-style: normal;
- color: #333;
-}

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail.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 Tue Mar 30 17:06:20 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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>detail Namespace Reference</h1><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="namespacedetail_1_1xint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>implementation details, normal users should not need to use these. </p>
-<br/></td></tr>
-</p>
-</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</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 Tue Mar 30 17:06:20 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/namespacedetail_1_1xint.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacedetail_1_1xint.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,97 +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 Tue Mar 30 17:06:20 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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespacedetail.html">detail</a>::<a class="el" href="namespacedetail_1_1xint.html">xint</a>
- </div>
-</div>
-<div class="contents">
-<h1>detail::xint Namespace Reference</h1>
-<p>implementation details, normal users should not need to use these.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>implementation details, normal users should not need to use these. </p>
-</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</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 Tue Mar 30 17:06:20 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/namespacemembers.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,465 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-Here is a list of all namespace members with links to the namespace documentation for each member:
-
-<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
-<li>abs()
-: <a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">xint</a>
-</li>
-<li>add()
-: <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint</a>
-</li>
-<li>allow_exceptions()
-: <a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">xint</a>
-</li>
-<li>autobase
-: <a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>bits_per_digit
-: <a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">xint::detail</a>
-</li>
-<li>bitwise_and()
-: <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint</a>
-</li>
-<li>block_exceptions()
-: <a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint</a>
-</li>
-<li>BOOST_PREVENT_MACRO_SUBSTITUTION()
-: <a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>callback_t
-: <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">xint</a>
-</li>
-<li>clearbit()
-: <a class="el" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>digit_hibit
-: <a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">xint::detail</a>
-</li>
-<li>digit_mask
-: <a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">xint::detail</a>
-</li>
-<li>digit_overflowbit
-: <a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">xint::detail</a>
-</li>
-<li>digit_t
-: <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">xint::detail</a>
-</li>
-<li>divide()
-: <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">xint</a>
-</li>
-<li>doubledigit_hibit
-: <a class="el" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">xint::detail</a>
-</li>
-<li>doubledigit_t
-: <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>exceptions_allowed()
-: <a class="el" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">xint</a>
-</li>
-<li>from_string()
-: <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint</a>
-</li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">xint</a>
-</li>
-<li>log2()
-: <a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>nan_text
-: <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail</a>
-</li>
-<li>negate()
-: <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint</a>
-</li>
-<li>no_callback
-: <a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint</a>
-</li>
-<li>operator!=()
-: <a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint</a>
-</li>
-<li>random_t
-: <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail</a>
-, <a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>testAddSubtract()
-: <a class="el" href="namespacexint.html#a6b7f5122683b6d924bf86c7d1507206b">xint</a>
-</li>
-<li>testAll()
-: <a class="el" href="namespacexint.html#a972fb39595e902be6c50629356b44e5b">xint</a>
-</li>
-<li>testBitManipulations()
-: <a class="el" href="namespacexint.html#a509778d505a3c8a0b335817150eaead2">xint</a>
-</li>
-<li>testConvert()
-: <a class="el" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">xint</a>
-</li>
-<li>testDivideMod()
-: <a class="el" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">xint</a>
-</li>
-<li>testMontyMultiply()
-: <a class="el" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">xint</a>
-</li>
-<li>testMontyPowerMod()
-: <a class="el" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">xint</a>
-</li>
-<li>testMultiply()
-: <a class="el" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">xint</a>
-</li>
-<li>testStreams()
-: <a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint</a>
-</li>
-<li>to()
-: <a class="el" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">xint</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint</a>
-</li>
-<li>token
-: <a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">xint</a>
-</li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">xint</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/namespacemembers_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,426 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li class="current">Functions</li>
- <li>Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>f</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
-<li>abs()
-: <a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">xint</a>
-</li>
-<li>add()
-: <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint</a>
-</li>
-<li>allow_exceptions()
-: <a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
-<li>bitwise_and()
-: <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint</a>
-</li>
-<li>bitwise_or()
-: <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint</a>
-</li>
-<li>bitwise_xor()
-: <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint</a>
-</li>
-<li>block_exceptions()
-: <a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint</a>
-</li>
-<li>BOOST_PREVENT_MACRO_SUBSTITUTION()
-: <a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>clearbit()
-: <a class="el" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">xint</a>
-</li>
-<li>compare()
-: <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
-<li>divide()
-: <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint</a>
-</li>
-<li>divide_r()
-: <a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
-<li>exceptions_allowed()
-: <a class="el" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
-<li>factorial()
-: <a class="el" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">xint</a>
-</li>
-<li>from_binary()
-: <a class="el" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">xint</a>
-</li>
-<li>from_string()
-: <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint</a>
-</li>
-<li>fromMontgomeryForm()
-: <a class="el" href="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
-<li>gcd()
-: <a class="el" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint</a>
-</li>
-<li>get_random()
-: <a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail</a>
-</li>
-<li>getbit()
-: <a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
-<li>highestbit()
-: <a class="el" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
-<li>inverse0()
-: <a class="el" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">xint</a>
-</li>
-<li>invmod()
-: <a class="el" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">xint</a>
-</li>
-<li>is_prime()
-: <a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
-<li>lcm()
-: <a class="el" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">xint</a>
-</li>
-<li>log2()
-: <a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint</a>
-</li>
-<li>lowestbit()
-: <a class="el" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
-<li>mod()
-: <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint</a>
-</li>
-<li>montgomeryMultiplyMod()
-: <a class="el" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">xint</a>
-</li>
-<li>montgomeryPowerMod()
-: <a class="el" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">xint</a>
-</li>
-<li>montgomeryR()
-: <a class="el" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">xint</a>
-</li>
-<li>mulmod()
-: <a class="el" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">xint</a>
-</li>
-<li>multiply()
-: <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
-<li>negate()
-: <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint</a>
-</li>
-<li>operator!=()
-: <a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint</a>
-</li>
-<li>operator%()
-: <a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint</a>
-</li>
-<li>operator*()
-: <a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint</a>
-</li>
-<li>operator+()
-: <a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint</a>
-</li>
-<li>operator-()
-: <a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint</a>
-</li>
-<li>operator/()
-: <a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint</a>
-</li>
-<li>operator&lt;&lt;()
-: <a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint</a>
-</li>
-<li>operator==()
-: <a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint</a>
-</li>
-<li>operator&gt;&gt;()
-: <a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">xint</a>
-</li>
-<li>operator^()
-: <a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint</a>
-</li>
-<li>operator|()
-: <a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint</a>
-</li>
-<li>opt_secure_mode()
-: <a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint</a>
-</li>
-<li>opt_thread_safe()
-: <a class="el" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
-<li>pow()
-: <a class="el" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">xint</a>
-</li>
-<li>pow2()
-: <a class="el" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">xint</a>
-</li>
-<li>powmod()
-: <a class="el" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random_by_size()
-: <a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint</a>
-</li>
-<li>random_prime()
-: <a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail</a>
-, <a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint</a>
-</li>
-<li>setbit()
-: <a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint</a>
-</li>
-<li>shift()
-: <a class="el" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">xint</a>
-</li>
-<li>shift_left()
-: <a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">xint</a>
-</li>
-<li>shift_right()
-: <a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">xint</a>
-</li>
-<li>sqr()
-: <a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">xint</a>
-</li>
-<li>sqrmod()
-: <a class="el" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">xint</a>
-</li>
-<li>sqrt()
-: <a class="el" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">xint</a>
-</li>
-<li>subtract()
-: <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
-<li>testAddSubtract()
-: <a class="el" href="namespacexint.html#a6b7f5122683b6d924bf86c7d1507206b">xint</a>
-</li>
-<li>testAll()
-: <a class="el" href="namespacexint.html#a972fb39595e902be6c50629356b44e5b">xint</a>
-</li>
-<li>testBitManipulations()
-: <a class="el" href="namespacexint.html#a509778d505a3c8a0b335817150eaead2">xint</a>
-</li>
-<li>testConvert()
-: <a class="el" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">xint</a>
-</li>
-<li>testDivideMod()
-: <a class="el" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">xint</a>
-</li>
-<li>testMontyMultiply()
-: <a class="el" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">xint</a>
-</li>
-<li>testMontyPowerMod()
-: <a class="el" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">xint</a>
-</li>
-<li>testMultiply()
-: <a class="el" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">xint</a>
-</li>
-<li>testStreams()
-: <a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint</a>
-</li>
-<li>to()
-: <a class="el" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">xint</a>
-</li>
-<li>to_binary()
-: <a class="el" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">xint</a>
-</li>
-<li>to_string()
-: <a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint</a>
-</li>
-<li>toMontgomeryForm()
-: <a class="el" href="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">xint</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/namespacemembers_type.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,113 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li>Variables</li>
- <li class="current">Typedefs</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>callback_t
-: <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">xint</a>
-</li>
-<li>digit_t
-: <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">xint::detail</a>
-</li>
-<li>doubledigit_t
-: <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail</a>
-</li>
-<li>random_t
-: <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail</a>
-</li>
-<li>token
-: <a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">xint</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/namespacemembers_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,122 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li class="current">Namespace Members</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>All</li>
- <li>Functions</li>
- <li class="current">Variables</li>
- <li>Typedefs</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-&nbsp;<ul>
-<li>autobase
-: <a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">xint</a>
-</li>
-<li>bits_per_digit
-: <a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">xint::detail</a>
-</li>
-<li>digit_hibit
-: <a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">xint::detail</a>
-</li>
-<li>digit_mask
-: <a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">xint::detail</a>
-</li>
-<li>digit_overflowbit
-: <a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">xint::detail</a>
-</li>
-<li>doubledigit_hibit
-: <a class="el" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">xint::detail</a>
-</li>
-<li>nan_text
-: <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail</a>
-</li>
-<li>no_callback
-: <a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">xint</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/namespaces.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,92 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li class="current">Namespace List</li>
- <li>Namespace Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="namespacexint.html">xint</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="namespacexint_1_1detail.html">xint::detail</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/namespacexint.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,2276 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>xint Namespace Reference</h1><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_1_1detail.html">detail</a></td></tr>
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html">integer</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1strong__random__generator.html">strong_random_generator</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__base.html">invalid_base</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1cannot__represent.html">cannot_represent</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1too__big.html">too_big</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1not__a__number.html">not_a_number</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1no__strong__random.html">no_strong_random</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1overflow__error.html">overflow_error</a></td></tr>
-<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef std::auto_ptr<br class="typebreak"/>
-&lt; <a class="el" href="structxint_1_1detail_1_1token.html">detail::token</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</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">getbit</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a> (<a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">clearbit</a> (<a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t bit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">lowestbit</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &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">highestbit</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t defaultValue)</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="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, int byBits)</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="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;_n, size_t byBits)</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="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;_n, size_t byBits)</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">compare</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classxint_1_1integer.html">integer</a> &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">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">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">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">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">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">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">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">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t base, bool upperCase)</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="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a> (const std::string &amp;str, size_t base)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">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">to_binary</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</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">exceptions_allowed</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxint_1_1detail_1_1token.html">token</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">block_exceptions</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxint_1_1detail_1_1token.html">token</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</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="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;m)</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">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">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">log2</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="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;modBy)</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="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;by, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;modulus)</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="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;modulus)</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="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;exponent, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;modulus, bool noMontgomery)</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">inverse0</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="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</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="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">toMontgomeryForm</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;m)</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="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">fromMontgomeryForm</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;m)</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="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</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="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">montgomeryPowerMod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;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="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;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="namespacexint.html#a211ff80bb081c08674272cfcae736a93">operator+</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">operator-</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</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="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a> (size_t exponent)</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="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</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="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;exponent)</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="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a> (size_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback)</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="namespacexint.html#af148d73dc33718f9d893dac821ab699e">random_prime</a> (size_t sizeInBits, <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback)</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="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</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="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</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="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</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="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;by)</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="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;dividend, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;divisor)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classxint_1_1integer.html">integer</a>, <a class="el" href="classxint_1_1integer.html">integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;d1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <br class="typebreak"/>
-strong_random_generator::min&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> () 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="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</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="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a> (T &amp;gen)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a972fb39595e902be6c50629356b44e5b">testAll</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#a509778d505a3c8a0b335817150eaead2">testBitManipulations</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#a6b7f5122683b6d924bf86c7d1507206b">testAddSubtract</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#affe2e221777d4263a420d014fa9640d0">testMultiply</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#a4ed78ff75865ae44a00d3709dd88c3a1">testDivideMod</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#ae4ef5f20964fa995df7828f27bd7adbe">testConvert</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#ae3305f62ca9be58fbc11dbd4c703f38b">testStreams</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#ac40068d64f8c4d9002a0687935888c42">testMontyMultiply</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#a9cce0401174b9ae173671b0800c5f457">testMontyPowerMod</a> ()</td></tr>
-<tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
-</table>
-<hr/><h2>Typedef Documentation</h2>
-<a class="anchor" id="ac8a660c33746c536469d347307b8da7a"></a><!-- doxytag: member="xint::callback_t" ref="ac8a660c33746c536469d347307b8da7a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::function&lt;bool ()&gt; <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">xint::callback_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00076">76</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad63045584f06221eb6a7581ad3091582"></a><!-- doxytag: member="xint::token" ref="ad63045584f06221eb6a7581ad3091582" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef std::auto_ptr&lt;<a class="el" href="structxint_1_1detail_1_1token.html">detail::token</a>&gt; <a class="el" href="structxint_1_1detail_1_1token.html">xint::token</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00074">74</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ac9e4ed282bafa93dbf608350df0127ba"></a><!-- doxytag: member="xint::abs" ref="ac9e4ed282bafa93dbf608350df0127ba" 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> xint::abs </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">operator&lt;&lt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7cc636a05af16eba73014bf88273d163"></a><!-- doxytag: member="xint::add" ref="a7cc636a05af16eba73014bf88273d163" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::add </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4b5a1a791ba11bb8f158a3b56bd9723e"></a><!-- doxytag: member="xint::allow_exceptions" ref="a4b5a1a791ba11bb8f158a3b56bd9723e" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structxint_1_1detail_1_1token.html">token</a> xint::allow_exceptions </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a06138585f07fe098e24718c46e3078e1"></a><!-- doxytag: member="xint::bitwise_and" ref="a06138585f07fe098e24718c46e3078e1" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::bitwise_and </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00184">xint::integer::operator&amp;=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8cd0a0dbc779e5a75c9e2f8027474e9a"></a><!-- doxytag: member="xint::bitwise_or" ref="a8cd0a0dbc779e5a75c9e2f8027474e9a" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::bitwise_or </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00185">xint::integer::operator|=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9ffe18a09f5dd354af7b967b032d3cbe"></a><!-- doxytag: member="xint::bitwise_xor" ref="a9ffe18a09f5dd354af7b967b032d3cbe" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::bitwise_xor </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00186">xint::integer::operator^=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae7e3f6afc701f6e8873a407bb418d04c"></a><!-- doxytag: member="xint::block_exceptions" ref="ae7e3f6afc701f6e8873a407bb418d04c" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structxint_1_1detail_1_1token.html">token</a> xint::block_exceptions </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4c109bd4fe51e6cd67361200d952d9a4"></a><!-- doxytag: member="xint::BOOST_PREVENT_MACRO_SUBSTITUTION" ref="a4c109bd4fe51e6cd67361200d952d9a4" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> strong_random_generator::max xint::BOOST_PREVENT_MACRO_SUBSTITUTION </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="random_8cpp_source.html#l00176">176</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8982e3e3ab7c1c763416eadc479d9724"></a><!-- doxytag: member="xint::clearbit" ref="a8982e3e3ab7c1c763416eadc479d9724" args="(integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::clearbit </td>
- <td>(</td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aff82dd47fae4297b96282371abf4db06"></a><!-- doxytag: member="xint::compare" ref="aff82dd47fae4297b96282371abf4db06" args="(const integer &amp;b1, const integer &amp;b2, bool ignoresign)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int xint::compare </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>ignoresign</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abf3d47f1ef1fdf334097fab055886a44"></a><!-- doxytag: member="xint::divide" ref="abf3d47f1ef1fdf334097fab055886a44" args="(const integer &amp;dividend, const integer &amp;divisor)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::divide </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>dividend</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>divisor</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00174">xint::integer::operator/=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a23d0a0bb05cec1917d96d6aaceeb875d"></a><!-- doxytag: member="xint::divide_r" ref="a23d0a0bb05cec1917d96d6aaceeb875d" args="(const integer &amp;d1, const integer &amp;d2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::pair&lt; <a class="el" href="classxint_1_1integer.html">integer</a>, <a class="el" href="classxint_1_1integer.html">integer</a> &gt; xint::divide_r </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>d2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac8be41374700d89400f5ecddf0f789e3"></a><!-- doxytag: member="xint::exceptions_allowed" ref="ac8be41374700d89400f5ecddf0f789e3" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::exceptions_allowed </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aba188df925c87a0f33a79328e31e1a50"></a><!-- doxytag: member="xint::factorial" ref="aba188df925c87a0f33a79328e31e1a50" args="(size_t n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::factorial </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac2ac2f74b45e4179560d845e6310be9a"></a><!-- doxytag: member="xint::from_binary" ref="ac2ac2f74b45e4179560d845e6310be9a" args="(const std::string &amp;str)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::from_binary </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad9dcb2b835be5f8ee918979945911ac0"></a><!-- doxytag: member="xint::from_string" ref="ad9dcb2b835be5f8ee918979945911ac0" args="(const std::string &amp;str, size_t base)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::from_string </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00035">xint::integer::integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a93ed16c5350b34ca22108e48b51918a5"></a><!-- doxytag: member="xint::fromMontgomeryForm" ref="a93ed16c5350b34ca22108e48b51918a5" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::fromMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac9e11516ac502e97be1902cde50f97e7"></a><!-- doxytag: member="xint::gcd" ref="ac9e11516ac502e97be1902cde50f97e7" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::gcd </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a07bc7378c8a55e5f92aaef6d8b8ce952"></a><!-- doxytag: member="xint::getbit" ref="a07bc7378c8a55e5f92aaef6d8b8ce952" args="(const integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::getbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afcfbe1d95a8dabc615e97565c0ba768c"></a><!-- doxytag: member="xint::highestbit" ref="afcfbe1d95a8dabc615e97565c0ba768c" args="(const integer &amp;n, size_t defaultValue)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t xint::highestbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>defaultValue</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afd561fd7c7631267fbc7e5c75c2bde71"></a><!-- doxytag: member="xint::inverse0" ref="afd561fd7c7631267fbc7e5c75c2bde71" args="(const integer &amp;n)" -->
-<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::inverse0 </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4a79f60ebe198eadf10b63924018ce66"></a><!-- doxytag: member="xint::invmod" ref="a4a79f60ebe198eadf10b63924018ce66" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::invmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab205c4e52dbc6825cefe3a251f6ca99f"></a><!-- doxytag: member="xint::is_prime" ref="ab205c4e52dbc6825cefe3a251f6ca99f" args="(const integer &amp;n, callback_t callback)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int xint::is_prime </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">callback_t&nbsp;</td>
- <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a17c5e4e807cfa425f48d9f5b464bc8dc"></a><!-- doxytag: member="xint::lcm" ref="a17c5e4e807cfa425f48d9f5b464bc8dc" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::lcm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa074495871d366c760c5b0713f5ef048"></a><!-- doxytag: member="xint::log2" ref="aa074495871d366c760c5b0713f5ef048" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t xint::log2 </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00130">xint::integer::hex_digits()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a20e8cf2664222955e68f2ef9020bb196"></a><!-- doxytag: member="xint::lowestbit" ref="a20e8cf2664222955e68f2ef9020bb196" args="(const integer &amp;n, size_t defaultValue)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t xint::lowestbit </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>defaultValue</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af7a1a866478f5c0a2bc4615785f17e1a"></a><!-- doxytag: member="xint::mod" ref="af7a1a866478f5c0a2bc4615785f17e1a" args="(const integer &amp;n, const integer &amp;modBy)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::mod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>modBy</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00175">xint::integer::operator%=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a722769c7d01e06d9f82eae07a280160c"></a><!-- doxytag: member="xint::montgomeryMultiplyMod" ref="a722769c7d01e06d9f82eae07a280160c" args="(const integer &amp;a, const integer &amp;b, const integer &amp;n, digit_t nPrime0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::montgomeryMultiplyMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">digit_t&nbsp;</td>
- <td class="paramname"> <em>nPrime0</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a7d7e8604c467bc007820c60e1bc21626"></a><!-- doxytag: member="xint::montgomeryPowerMod" ref="a7d7e8604c467bc007820c60e1bc21626" args="(const integer &amp;a, const integer &amp;e, const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::montgomeryPowerMod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aaf3b26669d4e61f6af5dcae42b20e08b"></a><!-- doxytag: member="xint::montgomeryR" ref="aaf3b26669d4e61f6af5dcae42b20e08b" 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> xint::montgomeryR </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a67ad0747617ca6e780d6f67d60260450"></a><!-- doxytag: member="xint::mulmod" ref="a67ad0747617ca6e780d6f67d60260450" args="(const integer &amp;n, const integer &amp;by, const integer &amp;modulus)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::mulmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>by</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>modulus</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af3d7059ec08bf075cec5685deca55c5d"></a><!-- doxytag: member="xint::multiply" ref="af3d7059ec08bf075cec5685deca55c5d" args="(const integer &amp;n, const integer &amp;by)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::multiply </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>by</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00173">xint::integer::operator*=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d9010c1d7edb88471977aecb0f91d26"></a><!-- doxytag: member="xint::negate" ref="a7d9010c1d7edb88471977aecb0f91d26" 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> xint::negate </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00105">xint::integer::_set_negative()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a675c4fe6ddda6db915450d054ed640ba"></a><!-- doxytag: member="xint::operator!" ref="a675c4fe6ddda6db915450d054ed640ba" args="(const xint::integer &amp;num1)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator! </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aefda934d0ffacd0f44fcbbdfee19a139"></a><!-- doxytag: member="xint::operator!=" ref="aefda934d0ffacd0f44fcbbdfee19a139" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator!= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae0505757986a9c7133552552471aae24"></a><!-- doxytag: member="xint::operator%" ref="ae0505757986a9c7133552552471aae24" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator% </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a742550f1c62ac8c2bde8e1ceab2a466c"></a><!-- doxytag: member="xint::operator&amp;" ref="a742550f1c62ac8c2bde8e1ceab2a466c" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator&amp; </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aea36ad9037f109576d4f95ec72b5c825"></a><!-- doxytag: member="xint::operator*" ref="aea36ad9037f109576d4f95ec72b5c825" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator* </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a211ff80bb081c08674272cfcae736a93"></a><!-- doxytag: member="xint::operator+" ref="a211ff80bb081c08674272cfcae736a93" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a586fb0eb69100ec74be94008ac26670d"></a><!-- doxytag: member="xint::operator+" ref="a586fb0eb69100ec74be94008ac26670d" args="(const integer &amp;a)" -->
-<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::operator+ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1e09422b575c6d29ea5c0d627b79c28e"></a><!-- doxytag: member="xint::operator&#45;" ref="a1e09422b575c6d29ea5c0d627b79c28e" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8a510361ed458133ebfa5fd95f8d9c27"></a><!-- doxytag: member="xint::operator&#45;" ref="a8a510361ed458133ebfa5fd95f8d9c27" args="(const integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator- </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a701217f7824c3e935fca25147da23807"></a><!-- doxytag: member="xint::operator/" ref="a701217f7824c3e935fca25147da23807" args="(const integer &amp;num1, const integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator/ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4f4a4771bf443e6724abbd18173ecc86"></a><!-- doxytag: member="xint::operator&lt;" ref="a4f4a4771bf443e6724abbd18173ecc86" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator&lt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa5b0dc228caee6523766326cf40297cd"></a><!-- doxytag: member="xint::operator&lt;&lt;" ref="aa5b0dc228caee6523766326cf40297cd" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const xint::integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; xint::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00397">397</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs()</a>, <a class="el" href="integer_8cpp_source.html#l00126">xint::integer::nan()</a>, <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>, <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>, and <a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab9d5f34c4d4bed1c86380d4f72edcd9b"></a><!-- doxytag: member="xint::operator&lt;=" ref="ab9d5f34c4d4bed1c86380d4f72edcd9b" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator&lt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad32051708c2a2baafa0340e19e90217b"></a><!-- doxytag: member="xint::operator==" ref="ad32051708c2a2baafa0340e19e90217b" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator== </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1229d1f1efbdf3ffeac8b2964ca66093"></a><!-- doxytag: member="xint::operator&gt;" ref="a1229d1f1efbdf3ffeac8b2964ca66093" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator&gt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a766324a6f216f3b49a3e9aa885e9531c"></a><!-- doxytag: member="xint::operator&gt;=" ref="a766324a6f216f3b49a3e9aa885e9531c" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::operator&gt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a27a0715c66d7350b0f3800f6e161816f"></a><!-- doxytag: member="xint::operator&gt;&gt;" ref="a27a0715c66d7350b0f3800f6e161816f" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, xint::integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; xint::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00424">424</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions()</a>, <a class="el" href="xint_8hpp_source.html#l00079">autobase</a>, <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string()</a>, and <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a81722cd257bc950ba7c56a202492544f"></a><!-- doxytag: member="xint::operator^" ref="a81722cd257bc950ba7c56a202492544f" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator^ </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afa8f2a0ac996ad45efc73b2aa056cae2"></a><!-- doxytag: member="xint::operator|" ref="afa8f2a0ac996ad45efc73b2aa056cae2" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator| </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a820d89c1d761a0a2c06479b1c1f9cecd"></a><!-- doxytag: member="xint::opt_secure_mode" ref="a820d89c1d761a0a2c06479b1c1f9cecd" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::opt_secure_mode </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad55aa4d44083238d9ec313511f5b1dfa"></a><!-- doxytag: member="xint::opt_thread_safe" ref="ad55aa4d44083238d9ec313511f5b1dfa" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::opt_thread_safe </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aeee80b61e0cadc12f92752104e281b2c"></a><!-- doxytag: member="xint::pow" ref="aeee80b61e0cadc12f92752104e281b2c" args="(const integer &amp;n, const integer &amp;exponent)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>exponent</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aea1ae2a423d401fa02d3f0621078fbf0"></a><!-- doxytag: member="xint::pow2" ref="aea1ae2a423d401fa02d3f0621078fbf0" args="(size_t exponent)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow2 </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>exponent</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1f8b43b537ff9de1d5612ed228a8fbe1"></a><!-- doxytag: member="xint::powmod" ref="a1f8b43b537ff9de1d5612ed228a8fbe1" args="(const integer &amp;n, const integer &amp;exponent, const integer &amp;modulus, bool noMontgomery)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::powmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>exponent</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>modulus</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6e66ca63ee442c0296ce41280fdae739"></a><!-- doxytag: member="xint::random_by_size" ref="a6e66ca63ee442c0296ce41280fdae739" args="(size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_by_size </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>highBitOn</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>lowBitOn</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>canBeNegative</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af148d73dc33718f9d893dac821ab699e"></a><!-- doxytag: member="xint::random_prime" ref="af148d73dc33718f9d893dac821ab699e" args="(size_t sizeInBits, callback_t callback)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_prime </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>sizeInBits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">callback_t&nbsp;</td>
- <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab2d0fe2cf11b25d26c1b86280cb4dc99"></a><!-- doxytag: member="xint::set_random_generator" ref="ab2d0fe2cf11b25d26c1b86280cb4dc99" args="(T &amp;gen)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">void xint::set_random_generator </td>
- <td>(</td>
- <td class="paramtype">T &amp;&nbsp;</td>
- <td class="paramname"> <em>gen</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00391">391</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adf2652627e78682c17e120816987984a"></a><!-- doxytag: member="xint::setbit" ref="adf2652627e78682c17e120816987984a" args="(integer &amp;n, size_t bit)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::setbit </td>
- <td>(</td>
- <td class="paramtype">integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bit</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4f4dacd6f9398aaa500112731ab713ce"></a><!-- doxytag: member="xint::shift" ref="a4f4dacd6f9398aaa500112731ab713ce" args="(const integer &amp;n, int byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::shift </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abe0717f5f1bed3f2c108e654f92f168a"></a><!-- doxytag: member="xint::shift_left" ref="abe0717f5f1bed3f2c108e654f92f168a" args="(const integer &amp;_n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::shift_left </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00182">xint::integer::operator&lt;&lt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a33005f5e57bca2418fae44952e28bbbf"></a><!-- doxytag: member="xint::shift_right" ref="a33005f5e57bca2418fae44952e28bbbf" args="(const integer &amp;_n, size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::shift_right </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>_n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00183">xint::integer::operator&gt;&gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0aec423511839fd784b1654389dfcf5b"></a><!-- doxytag: member="xint::sqr" ref="a0aec423511839fd784b1654389dfcf5b" 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> xint::sqr </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a594bd29593aad9a1c047af22e91e749c"></a><!-- doxytag: member="xint::sqrmod" ref="a594bd29593aad9a1c047af22e91e749c" args="(const integer &amp;n, const integer &amp;modulus)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::sqrmod </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>modulus</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a74891726f8af86736169dd43b929ad0a"></a><!-- doxytag: member="xint::sqrt" ref="a74891726f8af86736169dd43b929ad0a" 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> xint::sqrt </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af196cd74cb23970032fddcce71957a80"></a><!-- doxytag: member="xint::subtract" ref="af196cd74cb23970032fddcce71957a80" args="(const integer &amp;n1, const integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::subtract </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00150">xint::integer::operator-=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6b7f5122683b6d924bf86c7d1507206b"></a><!-- doxytag: member="xint::testAddSubtract" ref="a6b7f5122683b6d924bf86c7d1507206b" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testAddSubtract </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a972fb39595e902be6c50629356b44e5b"></a><!-- doxytag: member="xint::testAll" ref="a972fb39595e902be6c50629356b44e5b" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testAll </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a509778d505a3c8a0b335817150eaead2"></a><!-- doxytag: member="xint::testBitManipulations" ref="a509778d505a3c8a0b335817150eaead2" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testBitManipulations </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae4ef5f20964fa995df7828f27bd7adbe"></a><!-- doxytag: member="xint::testConvert" ref="ae4ef5f20964fa995df7828f27bd7adbe" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testConvert </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4ed78ff75865ae44a00d3709dd88c3a1"></a><!-- doxytag: member="xint::testDivideMod" ref="a4ed78ff75865ae44a00d3709dd88c3a1" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testDivideMod </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac40068d64f8c4d9002a0687935888c42"></a><!-- doxytag: member="xint::testMontyMultiply" ref="ac40068d64f8c4d9002a0687935888c42" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testMontyMultiply </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9cce0401174b9ae173671b0800c5f457"></a><!-- doxytag: member="xint::testMontyPowerMod" ref="a9cce0401174b9ae173671b0800c5f457" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testMontyPowerMod </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="affe2e221777d4263a420d014fa9640d0"></a><!-- doxytag: member="xint::testMultiply" ref="affe2e221777d4263a420d014fa9640d0" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testMultiply </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae3305f62ca9be58fbc11dbd4c703f38b"></a><!-- doxytag: member="xint::testStreams" ref="ae3305f62ca9be58fbc11dbd4c703f38b" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testStreams </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a21bd738b96eec205eedc7a9960e9a6e5"></a><!-- doxytag: member="xint::to" ref="a21bd738b96eec205eedc7a9960e9a6e5" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">T xint::to </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00375">375</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#l00214">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">xint::integer::_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00222">xint::integer::_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, and <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab8f33201a251e3e118dc82f214e22aeb"></a><!-- doxytag: member="xint::to_binary" ref="ab8f33201a251e3e118dc82f214e22aeb" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::string xint::to_binary </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a600fbf8ebbaa7253dd96817a404001fd"></a><!-- doxytag: member="xint::to_string" ref="a600fbf8ebbaa7253dd96817a404001fd" args="(const integer &amp;n, size_t base, bool upperCase)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::string xint::to_string </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>upperCase</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">operator&lt;&lt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab8e85cd5425fcec419c07155e2a91e13"></a><!-- doxytag: member="xint::toMontgomeryForm" ref="ab8e85cd5425fcec419c07155e2a91e13" args="(const integer &amp;n, const integer &amp;m)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::toMontgomeryForm </td>
- <td>(</td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a7a5434a5f5fb1db19f0de18014c4fc41"></a><!-- doxytag: member="xint::autobase" ref="a7a5434a5f5fb1db19f0de18014c4fc41" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00079">79</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44496f258b36237d4cea35558a71017a"></a><!-- doxytag: member="xint::no_callback" ref="a44496f258b36237d4cea35558a71017a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> <a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">xint::no_callback</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00077">77</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</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/namespacexint_1_1detail.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,305 +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 class="current">Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Namespace List</li>
- <li>Namespace Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespacexint.html">xint</a>::<a class="el" href="namespacexint_1_1detail.html">detail</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::detail Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1token.html">token</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1random__generator.html">random_generator</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a></td></tr>
-<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
-&lt; std::numeric_limits<br class="typebreak"/>
-&lt; <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> &gt;::digits/2 &gt;<br class="typebreak"/>
-::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function<br class="typebreak"/>
-&lt; unsigned int()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a> (<a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, <a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> *obj)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a> ()</td></tr>
-<tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> = std::numeric_limits&lt;<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&gt;::digits</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">digit_hibit</a> = (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a> = (<a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; (<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>*2-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> = (<a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; <a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a> = <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">nan_text</a></td></tr>
-</table>
-<hr/><h2>Typedef Documentation</h2>
-<a class="anchor" id="a8843fb7e364832d8d5983de28bdbcf34"></a><!-- doxytag: member="xint::detail::digit_t" ref="a8843fb7e364832d8d5983de28bdbcf34" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::uint_t&lt;std::numeric_limits&lt;<a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>&gt;::digits / 2&gt;::fast <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">xint::detail::digit_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00040">40</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aceb9b654c1c2daaf377b31bd4a089750"></a><!-- doxytag: member="xint::detail::doubledigit_t" ref="aceb9b654c1c2daaf377b31bd4a089750" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::uintmax_t <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail::doubledigit_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00038">38</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9c9dc00dbbe287492696635ed41dce44"></a><!-- doxytag: member="xint::detail::random_t" ref="a9c9dc00dbbe287492696635ed41dce44" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::function&lt;unsigned int ()&gt; <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail::random_t</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00068">68</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a1dfc1e90886c4897a4b112f491b89b62"></a><!-- doxytag: member="xint::detail::get_random" ref="a1dfc1e90886c4897a4b112f491b89b62" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int xint::detail::get_random </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ada65da12642b63f663b50382068a607f"></a><!-- doxytag: member="xint::detail::set_random_generator" ref="ada65da12642b63f663b50382068a607f" args="(random_t fn, base_random_generator *obj)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::set_random_generator </td>
- <td>(</td>
- <td class="paramtype">random_t&nbsp;</td>
- <td class="paramname"> <em>fn</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">base_random_generator *&nbsp;</td>
- <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00391">xint::set_random_generator()</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a9bd9e8d55061238d63913020d2721518"></a><!-- doxytag: member="xint::detail::bits_per_digit" ref="a9bd9e8d55061238d63913020d2721518" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">xint::detail::bits_per_digit</a> = std::numeric_limits&lt;<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&gt;::digits</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00042">42</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#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">xint::detail::data_t::shift_left()</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="a116bb5ce94c55f0eae3338d69fd5e8eb"></a><!-- doxytag: member="xint::detail::digit_hibit" ref="a116bb5ce94c55f0eae3338d69fd5e8eb" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">xint::detail::digit_hibit</a> = (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1))</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00043">43</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a051753e1bf43dcc77eaa93b8d4e49197"></a><!-- doxytag: member="xint::detail::digit_mask" ref="a051753e1bf43dcc77eaa93b8d4e49197" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">xint::detail::digit_mask</a> = <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1)</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00046">46</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#l00065">xint::integer::_init()</a>, and <a class="el" href="xint_8hpp_source.html#l00345">xint::integer::integer()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6746855fd8cde164294a46108d502e6a"></a><!-- doxytag: member="xint::detail::digit_overflowbit" ref="a6746855fd8cde164294a46108d502e6a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">xint::detail::digit_overflowbit</a> = (<a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; <a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00045">45</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">xint::detail::data_t::invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2af0686427ee285bd715330f12fcbc1c"></a><!-- doxytag: member="xint::detail::doubledigit_hibit" ref="a2af0686427ee285bd715330f12fcbc1c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="el" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">xint::detail::doubledigit_hibit</a> = (<a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; (<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>*2-1))</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00044">44</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aede27c67f3308e0805fc3093ffe6f4ce"></a><!-- doxytag: member="xint::detail::nan_text" ref="aede27c67f3308e0805fc3093ffe6f4ce" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const std::string <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00424">xint::operator&gt;&gt;()</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/operators_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,106 +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/operators.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">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint::operator+</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint::operator-</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a211ff80bb081c08674272cfcae736a93">xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</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/operators_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.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>
-<h1>I:/boost-sandbox/xInt/boost/xint/src/operators.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the definitions for the basic math operators.</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">const</span> integer&amp; <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> a; }
-<a name="l00019"></a>00019 integer <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(a); }
-<a name="l00020"></a>00020 integer <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(num1, num2); }
-<a name="l00021"></a>00021 integer <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(num1, num2); }
-<a name="l00022"></a>00022 integer <a class="code" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(num1, num2); }
-<a name="l00023"></a>00023 integer <a class="code" href="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(num1, num2); }
-<a name="l00024"></a>00024 integer <a class="code" href="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(num1, num2); }
-<a name="l00025"></a>00025 integer <a class="code" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(n1, n2); }
-<a name="l00026"></a>00026 integer <a class="code" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(n1, n2); }
-<a name="l00027"></a>00027 integer <a class="code" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(n1, n2); }
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 } <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/powers_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.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>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>I:/boost-sandbox/xInt/boost/xint/src/powers.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>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#aea1ae2a423d401fa02d3f0621078fbf0">xint::pow2</a> (size_t exponent)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">xint::sqr</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">xint::pow</a> (const integer &amp;n, const integer &amp;exponent)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">xint::factorial</a> (size_t 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/powers_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,209 +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/powers.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the definitions for functions related to powers of a</span>
-<a name="l00012"></a>00012 <span class="comment"> number.</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 <span class="keyword">namespace </span>{
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keywordtype">bool</span> addOverflow(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> &amp;n1, <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> n2) {
-<a name="l00027"></a>00027 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=(n1&gt;&gt;1)+(n2&gt;&gt;1);
-<a name="l00028"></a>00028 <span class="keywordflow">if</span> ((n1&amp;1) &amp;&amp; (n2&amp;1)) ++t;
-<a name="l00029"></a>00029 n1+=n2;
-<a name="l00030"></a>00030 <span class="keywordflow">if</span> (t &amp; <a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a>) <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00031"></a>00031 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00032"></a>00032 }
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 } <span class="comment">// namespace</span>
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 integer <a class="code" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a>(<span class="keywordtype">size_t</span> exponent) {
-<a name="l00037"></a>00037 integer r;
-<a name="l00038"></a>00038 <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(r, exponent);
-<a name="l00039"></a>00039 <span class="keywordflow">return</span> r;
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 integer <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00043"></a>00043 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keyword">const</span> data_t *ndata=n._get_data();
-<a name="l00046"></a>00046 std::vector&lt;doubledigit_t&gt; a(ndata-&gt;mLength*2+1, 0);
-<a name="l00047"></a>00047 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> *adigit=&amp;a[0];
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordtype">size_t</span> i, j;
-<a name="l00050"></a>00050 integer addend;
-<a name="l00051"></a>00051 data_t *addenddata=addend._get_data();
-<a name="l00052"></a>00052 addenddata-&gt;alloc(ndata-&gt;mLength*2+1);
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *ndigitip=ndata-&gt;digits;
-<a name="l00055"></a>00055 <span class="keywordflow">for</span> (i=0; i&lt;ndata-&gt;mLength; ++i, ++ndigitip) {
-<a name="l00056"></a>00056 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> ndigiti=*ndigitip;
-<a name="l00057"></a>00057 <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>(ndigiti) * ndigiti);
-<a name="l00058"></a>00058 <span class="keywordflow">if</span> (addOverflow(adigit[2*i], t)) ++addenddata-&gt;digits[2*i+2];
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 for (j=i+1; j&lt;ndata-&gt;mLength; ++j) {
-<a name="l00061"></a>00061 <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>(ndata-&gt;digits[j]) * ndigiti);
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (t &amp; <a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a>) ++addenddata-&gt;digits[i+j+2];
-<a name="l00063"></a>00063 t&lt;&lt;=1;
-<a name="l00064"></a>00064 <span class="keywordflow">if</span> (addOverflow(adigit[i+j], t)) ++addenddata-&gt;digits[i+j+2];
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 integer answer;
-<a name="l00069"></a>00069 data_t *answerdata=answer._get_data();
-<a name="l00070"></a>00070 answerdata-&gt;alloc(ndata-&gt;mLength*2+1);
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> carry=0;
-<a name="l00073"></a>00073 <span class="keywordflow">for</span> (i=0, j=ndata-&gt;mLength*2+1; i&lt;j; ++i) {
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> (addOverflow(carry, adigit[i])) ++addenddata-&gt;digits[i+2];
-<a name="l00075"></a>00075 answerdata-&gt;digits[i]=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(carry);
-<a name="l00076"></a>00076 carry&gt;&gt;=<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 answerdata-&gt;skipLeadingZeros();
-<a name="l00080"></a>00080 addenddata-&gt;skipLeadingZeros();
-<a name="l00081"></a>00081 answer+=addend;
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keywordflow">return</span> answer;
-<a name="l00084"></a>00084 }
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 integer <a class="code" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; exponent) {
-<a name="l00087"></a>00087 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; exponent.odd());
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keywordtype">size_t</span> length=exponent.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>(), lastBitCount=0;
-<a name="l00090"></a>00090 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> ee(exponent._get_digit(length-1));
-<a name="l00091"></a>00091 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 integer p(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n)), answer=<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
-<a name="l00094"></a>00094 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
-<a name="l00095"></a>00095 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> e(exponent._get_digit(eIndex));
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount : <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
-<a name="l00098"></a>00098 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
-<a name="l00099"></a>00099 <span class="keywordflow">if</span> (e &amp; 0x01) answer*=p;
-<a name="l00100"></a>00100 p=<a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(p);
-<a name="l00101"></a>00101 e &gt;&gt;= 1;
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 answer._set_negative(neg);
-<a name="l00106"></a>00106 <span class="keywordflow">return</span> answer;
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 integer <a class="code" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a>(<span class="keywordtype">size_t</span> n) {
-<a name="l00110"></a>00110 integer r(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;size_t&gt;::max)()) {
-<a name="l00112"></a>00112 <span class="comment">// It&#39;s highly unlikely that the system will be able to calculate this,</span>
-<a name="l00113"></a>00113 <span class="comment">// or that anyone might want to, but someday it will be possible. This</span>
-<a name="l00114"></a>00114 <span class="comment">// code keeps the function from going into an infinite loop if/when that</span>
-<a name="l00115"></a>00115 <span class="comment">// happens.</span>
-<a name="l00116"></a>00116 r=(std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00117"></a>00117 --n;
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=2; i&lt;=n; ++i) r*=i;
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> r;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 } <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/primes_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primes_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/primes.cpp File Reference</h1><code>#include &quot;../xint.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>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#ab205c4e52dbc6825cefe3a251f6ca99f">xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint::random_prime</a> (size_t sizeInBits, callback_t callback)</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/primes_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,199 +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/primes.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the definitions for functions related to prime numbers.</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">#include &lt;vector&gt;</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="keyword">namespace </span>{
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 std::vector&lt;int&gt; sieveOfEratosthenes(<span class="keywordtype">int</span> upTo) {
-<a name="l00023"></a>00023 std::vector&lt;int&gt; sieve;
-<a name="l00024"></a>00024 sieve.reserve(upTo);
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="comment">// Zero and one aren&#39;t prime, by this definition.</span>
-<a name="l00027"></a>00027 sieve.push_back(0);
-<a name="l00028"></a>00028 sieve.push_back(0);
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p=2; p&lt;upTo; ++p) sieve.push_back(p);
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 std::vector&lt;int&gt; ret;
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keywordtype">int</span> *p=&amp;sieve[0], *e=p+upTo;
-<a name="l00035"></a>00035 <span class="keywordflow">while</span> (p&lt;e) {
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (*p==0) { ++p; <span class="keywordflow">continue</span>; }
-<a name="l00037"></a>00037 ret.push_back(*p);
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keywordtype">int</span> *p2=p+(*p);
-<a name="l00040"></a>00040 <span class="keywordflow">while</span> (p2&lt;e) { *p2=0; p2+=*p; }
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 ++p;
-<a name="l00043"></a>00043 }
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> ret;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="comment">// The Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00049"></a>00049 <span class="keywordtype">int</span> isProbablePrimeBaseB(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer &amp;b, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>
-<a name="l00050"></a>00050 callback)
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
-<a name="l00055"></a>00055 integer r=nMinus1;
-<a name="l00056"></a>00056 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a=0;
-<a name="l00057"></a>00057 <span class="keywordflow">while</span> (r.even()) { r &gt;&gt;= 1; ++a; }
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="comment">// We check the congruence class of b^((2^i)r) % n for each i</span>
-<a name="l00060"></a>00060 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
-<a name="l00061"></a>00061 <span class="comment">// Otherwise, n fails.</span>
-<a name="l00062"></a>00062 integer test=<a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(b, r, n);
-<a name="l00063"></a>00063 <span class="keywordflow">if</span> (test==<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() || test==nMinus1) <span class="keywordflow">return</span> 1; <span class="comment">// Better than 3/4 chance it&#39;s prime</span>
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">while</span> (a--&gt;0) {
-<a name="l00066"></a>00066 test=<a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(test, n);
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> (test==nMinus1) <span class="keywordflow">return</span> 1;
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> -1;
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> 0;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 } <span class="comment">// namespace</span>
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback) {
-<a name="l00077"></a>00077 <span class="keywordflow">if</span> (n &lt; 2) {
-<a name="l00078"></a>00078 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;xint::is_prime cannot test numbers below 2&quot;</span>);
-<a name="l00079"></a>00079 <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="comment">// First we trial-divide it by the primes below 2000</span>
-<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;int&gt; cLowPrimes(sieveOfEratosthenes(2000));
-<a name="l00084"></a>00084 std::vector&lt;int&gt;::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
-<a name="l00085"></a>00085 <span class="keywordflow">for</span> (; i!=ie; ++i) <span class="keywordflow">if</span> ((n % *i)==0) <span class="keywordflow">return</span> (n==*i);
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00088"></a>00088 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
-<a name="l00089"></a>00089 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
-<a name="l00090"></a>00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k=<a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">detail::get_random</a>();
-<a name="l00091"></a>00091 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(k), callback);
-<a name="l00092"></a>00092 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> 1; <span class="comment">// Appears to be prime!</span>
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 integer <a class="code" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback) {
-<a name="l00098"></a>00098 <span class="comment">// Call the callback for the first time</span>
-<a name="l00099"></a>00099 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 integer pe=<a class="code" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a>(sizeInBits+1);
-<a name="l00102"></a>00102 <span class="keywordflow">while</span> (1) {
-<a name="l00103"></a>00103 integer p(<a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(sizeInBits, <span class="keyword">true</span>, <span class="keyword">true</span>));
-<a name="l00104"></a>00104 <span class="keywordflow">while</span> (p &lt; pe) {
-<a name="l00105"></a>00105 <span class="keywordtype">int</span> r=<a class="code" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a>(p, callback);
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (r &lt; 0) <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00107"></a>00107 <span class="keywordflow">if</span> (r == 1) <span class="keywordflow">return</span> p;
-<a name="l00108"></a>00108 p+=2;
-<a name="l00109"></a>00109 }
-<a name="l00110"></a>00110 }
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 } <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/primitives_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primitives_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/primitives.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 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#ac9e4ed282bafa93dbf608350df0127ba">xint::abs</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate</a> (const integer &amp;_n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; integer, integer &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</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/primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,356 +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/primitives.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the definitions for math primitives.</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 <span class="preprocessor">#include &lt;cassert&gt;</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="keyword">using namespace </span>detail;
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 integer <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00023"></a>00023 <span class="keywordflow">return</span> (n &lt; 0 ? -n : n);
-<a name="l00024"></a>00024 }
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 integer <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(<span class="keyword">const</span> integer&amp; _n) {
-<a name="l00027"></a>00027 _n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 integer n(_n);
-<a name="l00030"></a>00030 n._make_unique();
-<a name="l00031"></a>00031 n._get_data()-&gt;negate();
-<a name="l00032"></a>00032 <span class="keywordflow">return</span> n;
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 integer <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00036"></a>00036 <span class="keywordtype">int</span> sign1=n1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), sign2=n2.sign();
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (sign1 != sign2) {
-<a name="l00038"></a>00038 <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> n2;
-<a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> n1;
-<a name="l00040"></a>00040 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(n1, -n2);
-<a name="l00041"></a>00041 } <span class="keywordflow">else</span> {
-<a name="l00042"></a>00042 <span class="keyword">const</span> data_t *n1data=n1._get_data(), *n2data=n2._get_data();
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (n1data-&gt;mLength &lt; n2data-&gt;mLength) std::swap(n1data, n2data);
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 integer r;
-<a name="l00046"></a>00046 data_t *rdata=r._get_data();
-<a name="l00047"></a>00047 rdata-&gt;copy(n1data, 1);
-<a name="l00048"></a>00048 rdata-&gt;add(*n2data);
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> r;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 integer <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00054"></a>00054 <span class="keywordtype">int</span> sign1=n1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), sign2=n2.sign();
-<a name="l00055"></a>00055 <span class="keywordflow">if</span> (sign1 != sign2) {
-<a name="l00056"></a>00056 <span class="keywordflow">if</span> (sign1 == 0) <span class="keywordflow">return</span> -n2;
-<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 == 0) <span class="keywordflow">return</span> n1;
-<a name="l00058"></a>00058 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(n1, -n2);
-<a name="l00059"></a>00059 } <span class="keywordflow">else</span> {
-<a name="l00060"></a>00060 <span class="keywordtype">bool</span> invert=(sign1 == (n1 &lt; n2 ? 1 : -1));
-<a name="l00061"></a>00061 <span class="keyword">const</span> data_t *n1data=n1._get_data(), *n2data=n2._get_data();
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (invert) std::swap(n1data, n2data);
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 integer r;
-<a name="l00065"></a>00065 data_t *rdata=r._get_data();
-<a name="l00066"></a>00066 rdata-&gt;copy(n1data);
-<a name="l00067"></a>00067 rdata-&gt;subtract(*n2data);
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> (invert ? -r : r);
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 integer <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
-<a name="l00073"></a>00073 <span class="keywordtype">int</span> nsign=n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), bysign=by.sign();
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> (nsign==0 || bysign==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">const</span> data_t *ndata=n._get_data(), *bydata=by._get_data();
-<a name="l00077"></a>00077 <span class="keywordflow">if</span> (ndata == bydata) <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(n);
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
-<a name="l00080"></a>00080 <span class="comment">// the sum of the lengths of the operands.</span>
-<a name="l00081"></a>00081 integer answer;
-<a name="l00082"></a>00082 data_t *answerdata=answer._get_data();
-<a name="l00083"></a>00083 answerdata-&gt;alloc(ndata-&gt;mLength + bydata-&gt;mLength);
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
-<a name="l00086"></a>00086 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1 = ndata-&gt;digits, *d1e = d1 + ndata-&gt;mLength;
-<a name="l00087"></a>00087 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2e = bydata-&gt;digits + bydata-&gt;mLength;
-<a name="l00088"></a>00088 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1=0; d1&lt;d1e; ++digit1, ++d1) {
-<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2=bydata-&gt;digits;
-<a name="l00090"></a>00090 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2=0; d2&lt;d2e; ++digit2, ++d2) {
-<a name="l00091"></a>00091 <span class="comment">// First multiply the two digits</span>
-<a name="l00092"></a>00092 <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>(*d1) * *d2;
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="comment">// Now add the result to the answer.</span>
-<a name="l00095"></a>00095 <span class="keywordtype">int</span> carry=0;
-<a name="l00096"></a>00096 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *a = answerdata-&gt;digits + digit1 + digit2;
-<a name="l00097"></a>00097 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> addt=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(*a) + (t &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1;
-<a name="l00099"></a>00099 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 addt=*a + ((t &gt;&gt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) + carry;
-<a name="l00102"></a>00102 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1; <span class="keywordflow">else</span> carry=0;
-<a name="l00103"></a>00103 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordflow">while</span> (carry) {
-<a name="l00106"></a>00106 addt=*a+1;
-<a name="l00107"></a>00107 *a++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (addt &lt; <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) <span class="keywordflow">break</span>;
-<a name="l00109"></a>00109 }
-<a name="l00110"></a>00110 }
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 answer._set_negative(nsign != bysign);
-<a name="l00114"></a>00114 answer._get_data()-&gt;skipLeadingZeros();
-<a name="l00115"></a>00115 <span class="keywordflow">return</span> answer;
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keyword">namespace </span>{
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 std::pair&lt;integer, integer&gt; divideBySingleDigit(<span class="keyword">const</span> integer&amp; d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2) {
-<a name="l00121"></a>00121 <span class="keyword">const</span> data_t *d1data=d1._get_data();
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 integer quotient, remainder;
-<a name="l00124"></a>00124 data_t *qdata=quotient._get_data(), *rdata=remainder._get_data();
-<a name="l00125"></a>00125 qdata-&gt;alloc(d1data-&gt;mLength);
-<a name="l00126"></a>00126 rdata-&gt;alloc(1);
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> a=0;
-<a name="l00129"></a>00129 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> lomask(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
-<a name="l00130"></a>00130 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> himask(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <span class="keywordtype">int</span> m = int(d1data-&gt;mLength) - 1;
-<a name="l00133"></a>00133 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1p=d1data-&gt;digits+m;
-<a name="l00134"></a>00134 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *qp=qdata-&gt;digits+m;
-<a name="l00135"></a>00135 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i &gt;= 0; --i, --d1p, --qp) {
-<a name="l00136"></a>00136 a = (a &amp; ~lomask) | *d1p;
-<a name="l00137"></a>00137 *qp = <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 / d2);
-<a name="l00138"></a>00138 a = (a &amp; ~himask) | ((a % d2) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140 rdata-&gt;digits[0] = <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 &amp; himask) &gt;&gt;
-<a name="l00141"></a>00141 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 qdata-&gt;skipLeadingZeros();
-<a name="l00144"></a>00144 rdata-&gt;skipLeadingZeros();
-<a name="l00145"></a>00145 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 std::pair&lt;integer, integer&gt; subDivide(integer d1, integer d2) {
-<a name="l00149"></a>00149 <span class="keyword">const</span> data_t *ndata=d1._get_data(), *bydata=d2._get_data();
-<a name="l00150"></a>00150 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *nDigits = ndata-&gt;digits, *byDigits = bydata-&gt;digits;
-<a name="l00151"></a>00151 <span class="keywordtype">size_t</span> nMSD = ndata-&gt;mLength-1, byMSD = bydata-&gt;mLength-1;
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="comment">// The normalization step</span>
-<a name="l00154"></a>00154 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> 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> /
-<a name="l00155"></a>00155 (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(byDigits[byMSD])+1));
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (d &gt; 1) {
-<a name="l00157"></a>00157 d1 *= d;
-<a name="l00158"></a>00158 d2 *= d;
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="comment">// Gotta reset these</span>
-<a name="l00161"></a>00161 ndata = d1._get_data();
-<a name="l00162"></a>00162 bydata = d2._get_data();
-<a name="l00163"></a>00163 nDigits = ndata-&gt;digits;
-<a name="l00164"></a>00164 byDigits = bydata-&gt;digits;
-<a name="l00165"></a>00165 nMSD = ndata-&gt;mLength-1;
-<a name="l00166"></a>00166 byMSD = bydata-&gt;mLength-1;
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169 assert(byDigits[byMSD] &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> / 2);
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="comment">// We have to figure out which digit is going to be the first one. We&#39;ll do</span>
-<a name="l00172"></a>00172 <span class="comment">// that by cutting the least-significant digits of the dividend until it</span>
-<a name="l00173"></a>00173 <span class="comment">// has the same number of digits as the divisor; if what remains is greater</span>
-<a name="l00174"></a>00174 <span class="comment">// than the divisor, then we start there, otherwise that one&#39;s zero and we</span>
-<a name="l00175"></a>00175 <span class="comment">// start on the next lower one.</span>
-<a name="l00176"></a>00176 <span class="keywordtype">size_t</span> highestQuotientDigit=(nMSD - byMSD);
-<a name="l00177"></a>00177 integer nTest(d1);
-<a name="l00178"></a>00178 nTest -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
-<a name="l00179"></a>00179 nTest &gt;&gt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * highestQuotientDigit);
-<a name="l00180"></a>00180 <span class="keywordflow">if</span> (nTest &lt; d2) --highestQuotientDigit;
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 integer quotient, w;
-<a name="l00183"></a>00183 data_t *qdata=quotient._get_data();
-<a name="l00184"></a>00184 qdata-&gt;alloc(highestQuotientDigit + 1);
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = <span class="keywordtype">int</span>(highestQuotientDigit); j &gt;= 0; --j) {
-<a name="l00187"></a>00187 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> q = (nDigits[nMSD] &gt; byDigits[byMSD] ?
-<a name="l00188"></a>00188 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) / byDigits[byMSD] :
-<a name="l00189"></a>00189 ((<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) +
-<a name="l00190"></a>00190 nDigits[nMSD-1]) / byDigits[byMSD]);
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> loopcount=0;
-<a name="l00193"></a>00193 <span class="keywordflow">while</span> (1) {
-<a name="l00194"></a>00194 w=(d2 * q);
-<a name="l00195"></a>00195 w &lt;&lt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * j);
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 w = d1 - w;
-<a name="l00198"></a>00198 <span class="keywordflow">if</span> (w.sign() &lt; 0) {
-<a name="l00199"></a>00199 --q;
-<a name="l00200"></a>00200
-<a name="l00201"></a>00201 <span class="comment">// Our estimate should only be off by a maximum of two, so this</span>
-<a name="l00202"></a>00202 <span class="comment">// while loop should only run twice each time, at most.</span>
-<a name="l00203"></a>00203 assert(++loopcount &lt;= 2);
-<a name="l00204"></a>00204 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 qdata-&gt;digits[j] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(q);
-<a name="l00208"></a>00208 <span class="keywordflow">if</span> (w &lt; d2) <span class="keywordflow">break</span>;
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 d1 = w;
-<a name="l00211"></a>00211 ndata=d1._get_data();
-<a name="l00212"></a>00212 nDigits = ndata-&gt;digits;
-<a name="l00213"></a>00213 nMSD = ndata-&gt;mLength-1;
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keywordflow">if</span> (d &gt; 1) {
-<a name="l00217"></a>00217 <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
-<a name="l00218"></a>00218 integer remainder=divideBySingleDigit(w, d).first;
-<a name="l00219"></a>00219 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
-<a name="l00220"></a>00220 } <span class="keywordflow">else</span> {
-<a name="l00221"></a>00221 <span class="keywordflow">return</span> std::make_pair(quotient, w);
-<a name="l00222"></a>00222 }
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 } <span class="comment">// namespace</span>
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 integer <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
-<a name="l00228"></a>00228 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(dividend, divisor).first;
-<a name="l00229"></a>00229 }
-<a name="l00230"></a>00230
-<a name="l00231"></a>00231 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> integer&amp; d1, <span class="keyword">const</span>
-<a name="l00232"></a>00232 integer&amp; d2)
-<a name="l00233"></a>00233 {
-<a name="l00234"></a>00234 <span class="keywordtype">int</span> sign1=d1.sign(), sign2=d2.sign();
-<a name="l00235"></a>00235 <span class="keywordflow">if</span> (sign2==0) {
-<a name="l00236"></a>00236 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> divide_by_zero();
-<a name="l00237"></a>00237 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::make_pair(integer(not_a_number()), integer(not_a_number()));
-<a name="l00238"></a>00238 }
-<a name="l00239"></a>00239
-<a name="l00240"></a>00240 <span class="keywordtype">int</span> comp=<a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(d1, d2, <span class="keyword">true</span>);
-<a name="l00241"></a>00241 <span class="keywordflow">if</span> (comp&lt;0) {
-<a name="l00242"></a>00242 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>(), d1);
-<a name="l00243"></a>00243 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp==0) {
-<a name="l00244"></a>00244 <span class="keywordflow">return</span> std::make_pair(sign1 != sign2 ? <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() : integer(-1),
-<a name="l00245"></a>00245 <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>());
-<a name="l00246"></a>00246 }
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="keywordflow">if</span> (sign1 &lt; 0 &amp;&amp; sign2 &lt; 0) {
-<a name="l00249"></a>00249 std::pair&lt;integer, integer&gt; a=subDivide(-d1, -d2);
-<a name="l00250"></a>00250 a.second._set_negative(<span class="keyword">true</span>);
-<a name="l00251"></a>00251 <span class="keywordflow">return</span> a;
-<a name="l00252"></a>00252 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 &lt; 0) {
-<a name="l00253"></a>00253 std::pair&lt;integer, integer&gt; a=subDivide(-d1, d2);
-<a name="l00254"></a>00254 a.first._set_negative(<span class="keyword">true</span>);
-<a name="l00255"></a>00255 a.second._set_negative(<span class="keyword">true</span>);
-<a name="l00256"></a>00256 <span class="keywordflow">return</span> a;
-<a name="l00257"></a>00257 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 &lt; 0) {
-<a name="l00258"></a>00258 std::pair&lt;integer, integer&gt; a=subDivide(d1, -d2);
-<a name="l00259"></a>00259 a.first._set_negative(<span class="keyword">true</span>);
-<a name="l00260"></a>00260 <span class="keywordflow">return</span> a;
-<a name="l00261"></a>00261 };
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263 <span class="keywordflow">if</span> (d2._get_data()-&gt;mLength == 1) {
-<a name="l00264"></a>00264 <span class="keywordflow">return</span> divideBySingleDigit(d1, d2._get_data()-&gt;digits[0]);
-<a name="l00265"></a>00265 } <span class="keywordflow">else</span> {
-<a name="l00266"></a>00266 <span class="keywordflow">return</span> subDivide(d1, d2);
-<a name="l00267"></a>00267 }
-<a name="l00268"></a>00268 }
-<a name="l00269"></a>00269
-<a name="l00270"></a>00270 } <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/random_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,156 +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/random.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;sstream&gt;</code><br/>
-<code>#include &lt;fstream&gt;</code><br/>
-<code>#include &lt;ctime&gt;</code><br/>
-<code>#include &lt;boost/random/mersenne_twister.hpp&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>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html">xint::strong_random_generator::impl_t</a></td></tr>
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator</a> (random_t fn, base_random_generator *obj)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail::get_random</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">strong_random_generator::result_type <br class="typebreak"/>
-strong_random_generator::min&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint::BOOST_PREVENT_MACRO_SUBSTITUTION</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint::random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
-</table>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a238ff0f867d5c1cbee8f90025cf78d84"></a><!-- doxytag: member="random.cpp::mDefaultGenerator" ref="a238ff0f867d5c1cbee8f90025cf78d84" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::auto_ptr&lt;default_random_t&gt; <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00072">72</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab29291663b453f8de2fecf35aa62e1d8"></a><!-- doxytag: member="random.cpp::mGeneratorFn" ref="ab29291663b453f8de2fecf35aa62e1d8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">random_t <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00070">70</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5a10f5470776b1e8b6c0dd791a9baa6a"></a><!-- doxytag: member="random.cpp::mGeneratorObj" ref="a5a10f5470776b1e8b6c0dd791a9baa6a" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::auto_ptr&lt;base_random_generator&gt; <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00071">71</a> of file <a class="el" href="random_8cpp_source.html">random.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/random_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,297 +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/random.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the random number 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;vector&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;fstream&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;ctime&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</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><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#endif</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#ifdef _WIN32</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor"> #define STRICT</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"> #define WIN32_LEAN_AND_MEAN</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor"> #define NOMINMAX</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor"> #include &lt;TCHAR.h&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00035"></a>00035 <span class="keyword">namespace </span>xint {
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">using namespace </span>detail;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">namespace </span>{
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keyword">class </span>generator_t {
-<a name="l00042"></a>00042 <span class="keyword">public</span>:
-<a name="l00043"></a>00043 <span class="keyword">typedef</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">base_random_generator::result_type</a> result_type;
-<a name="l00044"></a>00044 <span class="keyword">typedef</span> boost::mt19937 default_random_t;
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span> generator_t() { mLock.lock(); init(); }
-<a name="l00048"></a>00048 ~generator_t() { mLock.unlock(); }
-<a name="l00049"></a>00049 <span class="preprocessor"> #else</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span> generator_t() { init(); }
-<a name="l00051"></a>00051 <span class="preprocessor"> #endif</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span>
-<a name="l00053"></a>00053 result_type operator()() { <span class="keywordflow">return</span> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>(); }
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keywordtype">void</span> set_generator(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> g, base_random_generator *p) {
-<a name="l00056"></a>00056 <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a>.reset(p);
-<a name="l00057"></a>00057 <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>=g;
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="keyword">private</span>:
-<a name="l00061"></a>00061 <span class="keywordtype">void</span> init() {
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (!<a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>) {
-<a name="l00063"></a>00063 <span class="keyword">typedef</span> default_random_t T;
-<a name="l00064"></a>00064 <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a>.reset(<span class="keyword">new</span> T(boost::uint32_t(time(0)+clock())));
-<a name="l00065"></a>00065 random_generator&lt;T&gt; *obj=<span class="keyword">new</span> random_generator&lt;T&gt;(*mDefaultGenerator);
-<a name="l00066"></a>00066 set_generator(*obj, obj);
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a><a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">00070</a> <span class="keyword">static</span> <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>;
-<a name="l00071"></a><a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">00071</a> <span class="keyword">static</span> std::auto_ptr&lt;base_random_generator&gt; <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a>;
-<a name="l00072"></a><a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">00072</a> <span class="keyword">static</span> std::auto_ptr&lt;default_random_t&gt; <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a>;
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="keyword">static</span> boost::mutex mLock;
-<a name="l00076"></a>00076 <span class="preprocessor"> #endif</span>
-<a name="l00077"></a>00077 <span class="preprocessor"></span>};
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 std::auto_ptr&lt;base_random_generator&gt; <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">generator_t::mGeneratorObj</a>;
-<a name="l00080"></a>00080 std::auto_ptr&lt;generator_t::default_random_t&gt; <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">generator_t::mDefaultGenerator</a>;
-<a name="l00081"></a>00081 <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">generator_t::mGeneratorFn</a>;
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span> boost::mutex generator_t::mLock;
-<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span>
-<a name="l00087"></a>00087 } <span class="comment">// namespace</span>
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">namespace </span>detail {
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a>(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, base_random_generator *obj) {
-<a name="l00092"></a>00092 generator_t::set_generator(fn, obj);
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a>() {
-<a name="l00096"></a>00096 generator_t gen;
-<a name="l00097"></a>00097 <span class="keywordflow">return</span> gen();
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 } <span class="comment">// namespace detail</span>
-<a name="l00101"></a>00101
-<a name="l00103"></a>00103 <span class="comment">// The secure random generator</span>
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="preprocessor">#ifdef _WIN32</span>
-<a name="l00106"></a>00106 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
-<a name="l00107"></a>00107 <span class="keyword">typedef</span> BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
-<a name="l00108"></a>00108 <span class="keyword">typedef</span> DWORD <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>(): dll(0), fn(0) {
-<a name="l00111"></a>00111 <span class="comment">// This should work under WinXP, Vista, and Win7. No guarantees about</span>
-<a name="l00112"></a>00112 <span class="comment">// future compatibility, but I doubt that Microsoft will get rid of it</span>
-<a name="l00113"></a>00113 <span class="comment">// (it&#39;s too useful), and I doubt that they&#39;ll change it now that it&#39;s</span>
-<a name="l00114"></a>00114 <span class="comment">// well-known (it would break too many programs). We could also use the</span>
-<a name="l00115"></a>00115 <span class="comment">// rand_s function in more recent versions of Visual C++, but that</span>
-<a name="l00116"></a>00116 <span class="comment">// causes compatibility problems with older versions of Windows.</span>
-<a name="l00117"></a>00117 dll=LoadLibrary(_T(<span class="stringliteral">&quot;Advapi32.dll&quot;</span>));
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, <span class="stringliteral">&quot;SystemFunction036&quot;</span>));
-<a name="l00119"></a>00119 <span class="keywordflow">if</span> (fn == 0) {
-<a name="l00120"></a>00120 destroy();
-<a name="l00121"></a>00121 <span class="keywordflow">throw</span> no_strong_random();
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 ~<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>() { destroy(); }
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">operator()</a>() {
-<a name="l00128"></a>00128 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> r=0;
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> (!fn(&amp;r, <span class="keyword">sizeof</span>(<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>)))
-<a name="l00130"></a>00130 <span class="keywordflow">throw</span> no_strong_random(<span class="stringliteral">&quot;RtlGenRandom failed&quot;</span>);
-<a name="l00131"></a>00131 <span class="keywordflow">return</span> r;
-<a name="l00132"></a>00132 }
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keywordtype">void</span> destroy() { <span class="keywordflow">if</span> (dll) FreeLibrary(dll); }
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 HMODULE dll;
-<a name="l00137"></a>00137 RtlGenRandomFn fn;
-<a name="l00138"></a>00138 };
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 32; }
-<a name="l00141"></a>00141 <span class="preprocessor">#else</span>
-<a name="l00142"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">00142</a> <span class="preprocessor"></span> <span class="keyword">struct </span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">strong_random_generator::impl_t</a> {
-<a name="l00143"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">00143</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>;
-<a name="l00144"></a>00144
-<a name="l00145"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">00145</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>(): <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>(<span class="stringliteral">&quot;/dev/urandom&quot;</span>, std::ios::binary) {
-<a name="l00146"></a>00146 <span class="comment">// This should be supported under most non-Windows systems. Note</span>
-<a name="l00147"></a>00147 <span class="comment">// that we&#39;re using /dev/urandom, not /dev/random -- /dev/random is</span>
-<a name="l00148"></a>00148 <span class="comment">// more secure, but it can be VERY slow.</span>
-<a name="l00149"></a>00149 <span class="keywordflow">if</span> (!<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>();
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151
-<a name="l00152"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">00152</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">operator()</a>() {
-<a name="l00153"></a>00153 <span class="keywordtype">int</span> r=<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>.get();
-<a name="l00154"></a>00154 <span class="keywordflow">if</span> (r==EOF) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>(<span class="stringliteral">&quot;/dev/urandom returned EOF&quot;</span>);
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a><span class="keyword">&gt;</span>(r);
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">00158</a> std::ifstream <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>;
-<a name="l00159"></a>00159 };
-<a name="l00160"></a>00160
-<a name="l00161"></a><a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">00161</a> <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 8; }
-<a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
-<a name="l00163"></a>00163 <span class="preprocessor"></span>
-<a name="l00164"></a>00164 <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">strong_random_generator::has_fixed_range</a> = <span class="keyword">true</span>;
-<a name="l00165"></a>00165 <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">strong_random_generator::min_value</a> =
-<a name="l00166"></a>00166 (std::numeric_limits&lt;impl_t::result_type&gt;::min)();
-<a name="l00167"></a>00167 <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">strong_random_generator::max_value</a> =
-<a name="l00168"></a>00168 (std::numeric_limits&lt;impl_t::result_type&gt;::max)();
-<a name="l00169"></a><a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">00169</a> <a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">strong_random_generator::strong_random_generator</a>(): impl(new <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a>) { }
-<a name="l00170"></a><a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">00170</a> <a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">strong_random_generator::~strong_random_generator</a>() { <span class="keyword">delete</span> <a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>; }
-<a name="l00171"></a><a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">00171</a> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">strong_random_generator::operator()</a>() {
-<a name="l00172"></a>00172 <span class="keywordflow">return</span> (*<a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>)(); }
-<a name="l00173"></a>00173 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">strong_random_generator::min</a>
-<a name="l00174"></a>00174 <a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_value; }
-<a name="l00175"></a>00175 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">strong_random_generator::max</a>
-<a name="l00176"></a><a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">00176</a> <a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_value; }
-<a name="l00177"></a>00177
-<a name="l00179"></a>00179 <span class="comment">// Returns a positive (unless told otherwise) integer between zero and</span>
-<a name="l00180"></a>00180 <span class="comment">// (1&lt;&lt;bits)-1, inclusive</span>
-<a name="l00181"></a>00181 integer <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> highBitOn, <span class="keywordtype">bool</span> lowBitOn, <span class="keywordtype">bool</span>
-<a name="l00182"></a>00182 canBeNegative)
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 <span class="keywordflow">if</span> (bits&lt;=0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 generator_t randomGenerator;
-<a name="l00187"></a>00187 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cBitsPerIteration=std::numeric_limits&lt;generator_t::result_type&gt;::digits;
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="comment">// Grab a set of random bits, of at least the specified size</span>
-<a name="l00190"></a>00190 <span class="keywordtype">size_t</span> iterations = (bits+cBitsPerIteration-1) / cBitsPerIteration;
-<a name="l00191"></a>00191 std::vector&lt;generator_t::result_type&gt; v;
-<a name="l00192"></a>00192 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i&lt;iterations; ++i) v.push_back(randomGenerator());
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 <span class="keyword">const</span> <span class="keywordtype">char</span> *vptr=(<span class="keyword">const</span> <span class="keywordtype">char</span> *)&amp;v[0], *vptr_end=vptr+(v.size() * <span class="keyword">sizeof</span>(generator_t::result_type));
-<a name="l00195"></a>00195 integer p=<a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(std::string(vptr, vptr_end));
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="comment">// Trim it to the proper length</span>
-<a name="l00198"></a>00198 <span class="keywordtype">size_t</span> index=(bits/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00199"></a>00199 <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; (bits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>))-1;
-<a name="l00200"></a>00200 <span class="keywordflow">if</span> (mask==0) { mask=<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>; --index; }
-<a name="l00201"></a>00201 p._get_data()-&gt;digits[index] &amp;= mask;
-<a name="l00202"></a>00202 <span class="keywordflow">for</span> (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *i=p._get_data()-&gt;digits+index+1,
-<a name="l00203"></a>00203 *ie=p._get_data()-&gt;digits+p._get_data()-&gt;mLength; i&lt;ie; ++i) *i=0;
-<a name="l00204"></a>00204 p._get_data()-&gt;skipLeadingZeros();
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 <span class="keywordflow">if</span> (highBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, bits-1);
-<a name="l00207"></a>00207 <span class="keywordflow">if</span> (lowBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, 0);
-<a name="l00208"></a>00208 <span class="keywordflow">if</span> (canBeNegative) p._set_negative(randomGenerator() &amp; 0x01);
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="keywordflow">return</span> p;
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212
-<a name="l00213"></a>00213 } <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/roots_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,97 +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/roots.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#a74891726f8af86736169dd43b929ad0a">xint::sqrt</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/roots_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,127 +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/roots.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the definitions for functions related to roots of a</span>
-<a name="l00012"></a>00012 <span class="comment"> number.</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 integer <a class="code" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00020"></a>00020 <span class="keywordflow">if</span> (n.sign() &lt; 0) {
-<a name="l00021"></a>00021 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> cannot_represent(<span class="stringliteral">&quot;library cannot &quot;</span>
-<a name="l00022"></a>00022 <span class="stringliteral">&quot;represent imaginary values (tried to take sqrt of negative &quot;</span>
-<a name="l00023"></a>00023 <span class="stringliteral">&quot;number)&quot;</span>);
-<a name="l00024"></a>00024 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00025"></a>00025 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n.sign() == 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="comment">// Initial guess is half the length of n, in bits</span>
-<a name="l00028"></a>00028 integer guess;
-<a name="l00029"></a>00029 <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(guess, <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(n)/2);
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="comment">// Now refine it until we&#39;re as close as integers can get</span>
-<a name="l00032"></a>00032 <span class="keywordflow">while</span> (1) {
-<a name="l00033"></a>00033 integer guess2=(guess + (n/guess)) &gt;&gt; 1;
-<a name="l00034"></a>00034 <span class="keywordflow">if</span> (guess == guess2) <span class="keywordflow">break</span>;
-<a name="l00035"></a>00035 guess=guess2;
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keywordflow">return</span> guess;
-<a name="l00039"></a>00039 }
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 } <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/structxint_1_1detail_1_1data__t-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,113 +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::detail::data_t Member List</h1>This is the complete list of members for <a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a>(const data_t &amp;addend)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(size_t digits, bool copydigits=false)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">copy</a>(const data_t *c, size_t extraDigits=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t</a>(digit_t initial1=0, digit_t initial2=0, digit_t initial3=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">data_t</a>(data_t *c)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">invert</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">quickset</a>(digit_t d1, digit_t d2=0, digit_t d3=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(size_t newdigits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(size_t byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(size_t byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(const data_t &amp;subtrahend)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(digit_t *p, size_t count)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</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/structxint_1_1detail_1_1data__t.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,677 +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="namespacexint_1_1detail.html">detail</a>::<a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::detail::data_t Struct Reference</h1><!-- doxytag: class="xint::detail::data_t" -->
-<p><code>#include &lt;<a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">QuickDigits</a></td></tr>
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial1=0, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial2=0, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial3=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">data_t</a> (<a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a> (size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, bool copydigits=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a> (size_t newdigits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">copy</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, size_t extraDigits=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p, size_t count)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">quickset</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d1, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2=0, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">invert</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;addend)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;subtrahend)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a> (size_t byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a> (size_t byBits)</td></tr>
-<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> [<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a></td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00032">32</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a9309667d3ac573346294e7b6e18c67ff"></a><!-- doxytag: member="xint::detail::data_t::data_t" ref="a9309667d3ac573346294e7b6e18c67ff" args="(digit_t initial1=0, digit_t initial2=0, digit_t initial3=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::detail::data_t::data_t </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>initial1</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>initial2</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>initial3</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00022">22</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00038">xint::detail::data_t::QuickDigits::count</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mAllocated</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00042">mQuickDigits</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae5afaa677468a9624ed3fb04318fd2a3"></a><!-- doxytag: member="xint::detail::data_t::data_t" ref="ae5afaa677468a9624ed3fb04318fd2a3" args="(data_t *c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::detail::data_t::data_t </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *&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="data__t_8cpp_source.html#l00033">33</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00038">xint::detail::data_t::QuickDigits::count</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mAllocated</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">mQuickDigits</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00045">mStorage</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a143e6814a7aa20a0d61ed616b9940b2e"></a><!-- doxytag: member="xint::detail::data_t::add" ref="a143e6814a7aa20a0d61ed616b9940b2e" args="(const data_t &amp;addend)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::add </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>addend</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00198">198</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4fe3935e29883193166966c49cd73139"></a><!-- doxytag: member="xint::detail::data_t::alloc" ref="a4fe3935e29883193166966c49cd73139" args="(size_t digits, bool copydigits=false)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::alloc </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>digits</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>copydigits</em> = <code>false</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00085">85</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00038">xint::detail::data_t::QuickDigits::count</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mAllocated</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">mQuickDigits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00045">mStorage</a>, and <a class="el" href="data__t_8cpp_source.html#l00165">zero()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7230e725461510f321bb1c45251b62f3"></a><!-- doxytag: member="xint::detail::data_t::attach" ref="a7230e725461510f321bb1c45251b62f3" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::attach </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__data__t_8hpp_source.html#l00059">59</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00084">xint::integer::_attach()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a66862f94545c953f6604b4347205277b"></a><!-- doxytag: member="xint::detail::data_t::copy" ref="a66862f94545c953f6604b4347205277b" args="(const data_t *c, size_t extraDigits=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::copy </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *&nbsp;</td>
- <td class="paramname"> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>extraDigits</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00153">153</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afd5505e388c5bf8c9cf069df81a91818"></a><!-- doxytag: member="xint::detail::data_t::detach" ref="afd5505e388c5bf8c9cf069df81a91818" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::detail::data_t::detach </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__data__t_8hpp_source.html#l00060">60</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00088">xint::integer::_detach()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaf6f202db416ad8fe18ec8a6c8c48904"></a><!-- doxytag: member="xint::detail::data_t::invert" ref="aaf6f202db416ad8fe18ec8a6c8c48904" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::invert </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="data__t_8cpp_source.html#l00170">170</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa0dd7ef67ccdef3c3139f4afc84219bd"></a><!-- doxytag: member="xint::detail::data_t::negate" ref="aa0dd7ef67ccdef3c3139f4afc84219bd" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::negate </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="data__t_8cpp_source.html#l00191">191</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a57fc3966c44d09daeede53899673cde3"></a><!-- doxytag: member="xint::detail::data_t::quickset" ref="a57fc3966c44d09daeede53899673cde3" args="(digit_t d1, digit_t d2=0, digit_t d3=0)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::quickset </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>d1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>d2</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td>
- <td class="paramname"> <em>d3</em> = <code>0</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00074">74</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2bb2c79d47f2fda3605f34b80cb58b8b"></a><!-- doxytag: member="xint::detail::data_t::realloc" ref="a2bb2c79d47f2fda3605f34b80cb58b8b" args="(size_t newdigits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::realloc </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>newdigits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00062">62</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>References <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, and <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a72785130c7c6490af874f450cf6e0086"></a><!-- doxytag: member="xint::detail::data_t::shift_left" ref="a72785130c7c6490af874f450cf6e0086" args="(size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::shift_left </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00252">252</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00188">xint::integer::operator&lt;&lt;=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a432ace7094bca306dcba254f862e2428"></a><!-- doxytag: member="xint::detail::data_t::shift_right" ref="a432ace7094bca306dcba254f862e2428" args="(size_t byBits)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::shift_right </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>byBits</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00280">280</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00196">xint::integer::operator&gt;&gt;=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6d45feedd311e26f7de06597fb0c6b81"></a><!-- doxytag: member="xint::detail::data_t::skipLeadingZeros" ref="a6d45feedd311e26f7de06597fb0c6b81" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::skipLeadingZeros </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="data__t_8cpp_source.html#l00067">67</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a650d374b8d38b369273830bb9d939da4"></a><!-- doxytag: member="xint::detail::data_t::subtract" ref="a650d374b8d38b369273830bb9d939da4" args="(const data_t &amp;subtrahend)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::subtract </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>subtrahend</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00225">225</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00150">xint::integer::operator-=()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a288850fd62ef26302ce4767a45acd968"></a><!-- doxytag: member="xint::detail::data_t::zero" ref="a288850fd62ef26302ce4767a45acd968" args="(digit_t *p, size_t count)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void xint::detail::data_t::zero </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *&nbsp;</td>
- <td class="paramname"> <em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00165">165</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a5c9382aec147090d7e7e2b5e972402a9"></a><!-- doxytag: member="xint::detail::data_t::digits" ref="a5c9382aec147090d7e7e2b5e972402a9" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>* <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">xint::detail::data_t::digits</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00042">42</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00214">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3390530db8333b535f65d3cc01ff5236"></a><!-- doxytag: member="xint::detail::data_t::mAllocated" ref="a3390530db8333b535f65d3cc01ff5236" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t::mAllocated</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00041">41</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a73bc854b5f9ced6576b97d2cff8f3a5d"></a><!-- doxytag: member="xint::detail::data_t::mCopies" ref="a73bc854b5f9ced6576b97d2cff8f3a5d" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int <a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">xint::detail::data_t::mCopies</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00048">48</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00092">xint::integer::_make_unique()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00059">attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00060">detach()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb2d8673fc5d99d2ea006cd0aa32b744"></a><!-- doxytag: member="xint::detail::data_t::mIsNegative" ref="afb2d8673fc5d99d2ea006cd0aa32b744" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">xint::detail::data_t::mIsNegative</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00049">49</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a599933d272e3592b2d0985ca7f7c72e2"></a><!-- doxytag: member="xint::detail::data_t::mLength" ref="a599933d272e3592b2d0985ca7f7c72e2" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t::mLength</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00041">41</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00218">xint::integer::_get_length()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a022f882ed0818612861b1a67881ae131"></a><!-- doxytag: member="xint::detail::data_t::mQuickDigits" ref="a022f882ed0818612861b1a67881ae131" args="[QuickDigits::count]" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t::mQuickDigits</a>[<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>]</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00042">42</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a96c33fdc37dd3c774256f7ed20ce735c"></a><!-- doxytag: member="xint::detail::data_t::mStorage" ref="a96c33fdc37dd3c774256f7ed20ce735c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::vector&lt;<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&gt; <a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">xint::detail::data_t::mStorage</a></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00045">45</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00033">data_t()</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following files:<ul>
-<li>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a></li>
-<li>I:/boost-sandbox/xInt/boost/xint/src/<a class="el" href="data__t_8cpp_source.html">data_t.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/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-members.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,94 +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::detail::data_t::QuickDigits Member List</h1>This is the complete list of members for <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</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/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,171 +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="namespacexint_1_1detail.html">detail</a>::<a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a>::<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">QuickDigits</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::detail::data_t::QuickDigits Struct Reference</h1><!-- doxytag: class="xint::detail::data_t::QuickDigits" -->
-<p><code>#include &lt;<a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> = 3</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00033">33</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="ac691b42c4404e59ae07f89146e722736"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::count" ref="ac691b42c4404e59ae07f89146e722736" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits::count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>)<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00038">38</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00085">xint::detail::data_t::alloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00022">xint::detail::data_t::data_t()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5323a8fbfdfaa3cae371872ec865fc5"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::intbits" ref="af5323a8fbfdfaa3cae371872ec865fc5" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits::intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00035">35</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aeb7c43d282f871305e76936664cee25f"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::minimum" ref="aeb7c43d282f871305e76936664cee25f" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits::minimum</a> = 3<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00037">37</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a789eadb40cb8c034823ecb5fb6094092"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::suggested" ref="a789eadb40cb8c034823ecb5fb6094092" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits::suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00036">36</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.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/structxint_1_1detail_1_1token.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.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 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="namespacexint_1_1detail.html">detail</a>::<a class="el" href="structxint_1_1detail_1_1token.html">token</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::detail::token Struct Reference</h1><!-- doxytag: class="xint::detail::token" -->
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-<table border="0" cellpadding="0" cellspacing="0">
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00051">51</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-<hr/>The documentation for this struct 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/tab_b.gif
==============================================================================
Binary file. No diff available.

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

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

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/tabs.css
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/tabs.css 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,105 +0,0 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-DIV.tabs
-{
- float : left;
- width : 100%;
- background : url("tab_b.gif") repeat-x bottom;
- margin-bottom : 4px;
-}
-
-DIV.tabs UL
-{
- margin : 0px;
- padding-left : 10px;
- list-style : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
- display : inline;
- margin : 0px;
- padding : 0px;
-}
-
-DIV.tabs FORM
-{
- float : right;
-}
-
-DIV.tabs A
-{
- float : left;
- background : url("tab_r.gif") no-repeat right top;
- border-bottom : 1px solid #84B0C7;
- font-size : 80%;
- font-weight : bold;
- text-decoration : none;
-}
-
-DIV.tabs A:hover
-{
- background-position: 100% -150px;
-}
-
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
- color: #1A419D;
-}
-
-DIV.tabs SPAN
-{
- float : left;
- display : block;
- background : url("tab_l.gif") no-repeat left top;
- padding : 5px 9px;
- white-space : nowrap;
-}
-
-DIV.tabs #MSearchBox
-{
- float : right;
- display : inline;
- font-size : 1em;
-}
-
-DIV.tabs TD
-{
- font-size : 80%;
- font-weight : bold;
- text-decoration : none;
-}
-
-
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
- background-position: 0% -150px;
-}
-
-DIV.tabs LI.current A
-{
- background-position: 100% -150px;
- border-width : 0px;
-}
-
-DIV.tabs LI.current SPAN
-{
- background-position: 0% -150px;
- padding-bottom : 6px;
-}
-
-DIV.navpath
-{
- background : none;
- border : none;
- border-bottom : 1px solid #84B0C7;
- text-align : center;
- margin : 2px;
- padding : 2px;
-}

Deleted: sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,217 +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/xint.hpp File Reference</h1><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/>
-
-<p>Go to the source code of this file.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1token.html">xint::detail::token</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">xint::detail::base_random_generator</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1random__generator.html">xint::detail::random_generator&lt; T &gt;</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html">xint::integer</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1strong__random__generator.html">xint::strong_random_generator</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1too__big.html">xint::too_big</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1no__strong__random.html">xint::no_strong_random</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1overflow__error.html">xint::overflow_error</a></td></tr>
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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>
-<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail::doubledigit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
-&lt; std::numeric_limits<br class="typebreak"/>
-&lt; doubledigit_t &gt;::digits/2 &gt;<br class="typebreak"/>
-::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">xint::detail::digit_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function<br class="typebreak"/>
-&lt; unsigned int()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail::random_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef std::auto_ptr<br class="typebreak"/>
-&lt; detail::token &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">xint::token</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">xint::callback_t</a></td></tr>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator</a> (random_t fn, base_random_generator *obj)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail::get_random</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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>
-<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">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">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>
-<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#ac9e4ed282bafa93dbf608350df0127ba">xint::abs</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate</a> (const integer &amp;_n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; integer, integer &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">xint::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">xint::sqr</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">xint::pow</a> (const integer &amp;n, const integer &amp;exponent)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">xint::pow2</a> (size_t exponent)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">xint::factorial</a> (size_t 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#a74891726f8af86736169dd43b929ad0a">xint::sqrt</a> (const integer &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">xint::to</a> (const integer &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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">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>
-<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">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>
-<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>
-<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>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint::set_random_generator</a> (T &amp;gen)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint::random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint::random_prime</a> (size_t sizeInBits, callback_t callback)</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#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>
-<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">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint::operator+</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint::operator-</a> (const integer &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a211ff80bb081c08674272cfcae736a93">xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint::operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_istream&lt; charT, <br class="typebreak"/>
-traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">xint::operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
-<tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">xint::detail::bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">xint::detail::digit_hibit</a> = (digit_t(1) &lt;&lt; (bits_per_digit-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">xint::detail::doubledigit_hibit</a> = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1))</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const doubledigit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">xint::detail::digit_overflowbit</a> = (doubledigit_t(1) &lt;&lt; bits_per_digit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">xint::detail::digit_mask</a> = digit_t(digit_overflowbit-1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const callback_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">xint::no_callback</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</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/xint_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,567 +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/xint.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This is the main header file for the library, and the only one that</span>
-<a name="l00012"></a>00012 <span class="comment"> programs using it should need to include.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_H</span>
-<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_H</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/integer.hpp&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/function.hpp&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;boost/random/uniform_int.hpp&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;boost/random/variate_generator.hpp&gt;</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">namespace </span>xint {
-<a name="l00033"></a>00033
-<a name="l00035"></a>00035 <span class="comment">// The boring-but-necessary preliminary stuff</span>
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">namespace </span>detail {
-<a name="l00038"></a><a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">00038</a> <span class="keyword">typedef</span> boost::uintmax_t <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>;
-<a name="l00039"></a>00039 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
-<a name="l00040"></a><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">00040</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>;
-<a name="l00041"></a>00041
-<a name="l00042"></a><a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">00042</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits;
-<a name="l00043"></a><a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">00043</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">digit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1));
-<a name="l00044"></a><a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">00044</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>*2-1));
-<a name="l00045"></a><a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">00045</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00046"></a><a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">00046</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a> = <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1);
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="keyword">const</span> <span class="keyword">extern</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">nan_text</a>;
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>;
-<a name="l00051"></a><a class="code" href="structxint_1_1detail_1_1token.html">00051</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1token.html">token</a> { };
-<a name="l00052"></a>00052
-<a name="l00053"></a><a class="code" href="structxint_1_1detail_1_1base__random__generator.html">00053</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> {
-<a name="l00054"></a><a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">00054</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>;
-<a name="l00055"></a>00055 };
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
-<a name="l00058"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html">00058</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1random__generator.html">random_generator</a>: <span class="keyword">public</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> {
-<a name="l00059"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">00059</a> <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; <a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">dist_t</a>;
-<a name="l00060"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">00060</a> <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; <a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">gen_t</a>;
-<a name="l00061"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">00061</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">random_generator</a>(T&amp; g): <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>(g,
-<a name="l00062"></a>00062 <a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">dist_t</a>((std::numeric_limits&lt;<a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>&gt;::min)(),
-<a name="l00063"></a>00063 (std::numeric_limits&lt;<a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>&gt;::max)())) { }
-<a name="l00064"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">00064</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">operator()</a>() { <span class="keywordflow">return</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>(); }
-<a name="l00065"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">00065</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">gen_t</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>;
-<a name="l00066"></a>00066 };
-<a name="l00067"></a>00067
-<a name="l00068"></a><a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">00068</a> <span class="keyword">typedef</span> boost::function&lt;unsigned int ()&gt; <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a>;
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a>(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, <a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> *obj);
-<a name="l00071"></a>00071 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a>();
-<a name="l00072"></a>00072 } <span class="comment">// namespace detail</span>
-<a name="l00073"></a>00073
-<a name="l00074"></a><a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">00074</a> <span class="keyword">typedef</span> std::auto_ptr&lt;detail::token&gt; <a class="code" href="structxint_1_1detail_1_1token.html">token</a>;
-<a name="l00075"></a>00075
-<a name="l00076"></a><a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">00076</a> <span class="keyword">typedef</span> boost::function&lt;bool ()&gt; <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>;
-<a name="l00077"></a><a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">00077</a> <span class="keyword">const</span> <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> <a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>;
-<a name="l00078"></a>00078
-<a name="l00079"></a><a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">00079</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>=(std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>;
-<a name="l00082"></a>00082
-<a name="l00084"></a>00084 <span class="comment">// The integer class</span>
-<a name="l00085"></a>00085
-<a name="l00086"></a><a class="code" href="classxint_1_1integer.html">00086</a> <span class="keyword">class </span><a class="code" href="classxint_1_1integer.html">integer</a> {
-<a name="l00087"></a>00087 <span class="keyword">public</span>:
-<a name="l00088"></a>00088 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>();
-<a name="l00089"></a>00089 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00092"></a>00092 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00093"></a>00093 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
-<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00095"></a>00095 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
-<a name="l00096"></a>00096 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00099"></a>00099 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;);
-<a name="l00100"></a>00100 <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a>();
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a>() <span class="keyword">const</span>;
-<a name="l00103"></a>00103 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a>() <span class="keyword">const</span>;
-<a name="l00104"></a>00104 <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() <span class="keyword">const</span>;
-<a name="l00105"></a>00105 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>() <span class="keyword">const</span>; <span class="comment">// Tests for Not-a-Number</span>
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() <span class="keyword">const</span>;
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00112"></a>00112 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00113"></a>00113 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00114"></a>00114 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00115"></a>00115 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>();
-<a name="l00118"></a>00118 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>();
-<a name="l00119"></a>00119 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>(<span class="keywordtype">int</span>);
-<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>(<span class="keywordtype">int</span>);
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00123"></a>00123 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00124"></a>00124 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00125"></a>00125 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) <span class="keyword">const</span>;
-<a name="l00126"></a>00126 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> shift) <span class="keyword">const</span>;
-<a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00128"></a>00128 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="keyword">static</span> <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">zero</a>();
-<a name="l00131"></a>00131 <span class="keyword">static</span> <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">one</a>();
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="comment">// These are used internally, they&#39;re probably not useful outside of the</span>
-<a name="l00134"></a>00134 <span class="comment">// library&#39;s functions.</span>
-<a name="l00135"></a><a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">00135</a> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>() { <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>; }
-<a name="l00136"></a><a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">00136</a> <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>; }
-<a name="l00137"></a>00137 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(<span class="keywordtype">size_t</span> index) <span class="keyword">const</span>;
-<a name="l00138"></a>00138 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>() <span class="keyword">const</span>;
-<a name="l00139"></a>00139 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keywordtype">bool</span> negative);
-<a name="l00140"></a>00140 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>() <span class="keyword">const</span>;
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <span class="keyword">private</span>:
-<a name="l00144"></a>00144 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init=0);
-<a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
-<a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t n);
-<a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00148"></a>00148 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00149"></a>00149
-<a name="l00150"></a><a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">00150</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>, *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
-<a name="l00151"></a>00151
-<a name="l00152"></a><a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">00152</a> <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="l00153"></a>00153 };
-<a name="l00154"></a>00154
-<a name="l00156"></a>00156 <span class="comment">// The random generator convenience class</span>
-<a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="classxint_1_1strong__random__generator.html">00158</a> <span class="keyword">class </span><a class="code" href="classxint_1_1strong__random__generator.html">strong_random_generator</a> {
-<a name="l00159"></a>00159 <span class="keyword">public</span>:
-<a name="l00160"></a><a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">00160</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a>;
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">strong_random_generator</a>();
-<a name="l00163"></a>00163 <a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">~strong_random_generator</a>();
-<a name="l00164"></a>00164 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">operator()</a>();
-<a name="l00165"></a>00165
-<a name="l00166"></a><a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">00166</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">has_fixed_range</a>;
-<a name="l00167"></a><a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">00167</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">min_value</a>;
-<a name="l00168"></a><a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">00168</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">max_value</a>;
-<a name="l00169"></a>00169 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">min</a>() <span class="keyword">const</span>;
-<a name="l00170"></a>00170 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">max</a>() <span class="keyword">const</span>;
-<a name="l00171"></a>00171 <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">entropy</a>() <span class="keyword">const</span>;
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keyword">private</span>:
-<a name="l00174"></a><a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">00174</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a>;
-<a name="l00175"></a>00175 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a> *<a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>;
-<a name="l00176"></a>00176 };
-<a name="l00177"></a>00177
-<a name="l00179"></a>00179 <span class="comment">// Exception-blocking and -allowing functions</span>
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>();
-<a name="l00182"></a>00182 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">block_exceptions</a>();
-<a name="l00183"></a>00183 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
-<a name="l00184"></a>00184
-<a name="l00186"></a>00186 <span class="comment">// Miscellaneous functions</span>
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">opt_secure_mode</a>();
-<a name="l00189"></a>00189 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">opt_thread_safe</a>();
-<a name="l00190"></a>00190 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</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, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
-<a name="l00191"></a>00191 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00192"></a>00192 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
-<a name="l00193"></a>00193 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
-<a name="l00194"></a>00194
-<a name="l00196"></a>00196 <span class="comment">// Mathematical primitives</span>
-<a name="l00197"></a>00197
-<a name="l00198"></a>00198 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00199"></a>00199 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00200"></a>00200 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend);
-<a name="l00201"></a>00201 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend);
-<a name="l00202"></a>00202 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; multiplicand);
-<a name="l00203"></a>00203 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; divisor);
-<a name="l00204"></a>00204 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
-<a name="l00205"></a>00205 divisor);
-<a name="l00206"></a>00206
-<a name="l00208"></a>00208 <span class="comment">// Powers and roots</span>
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00211"></a>00211 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent);
-<a name="l00212"></a>00212 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00213"></a>00213 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00214"></a>00214 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00215"></a>00215
-<a name="l00217"></a>00217 <span class="comment">// Conversion functions</span>
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00220"></a>00220 std::string <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=<span class="keyword">false</span>);
-<a name="l00221"></a>00221 <a class="code" href="classxint_1_1integer.html">integer</a> <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=10);
-<a name="l00222"></a>00222 std::string <a class="code" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00223"></a>00223 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(<span class="keyword">const</span> std::string&amp; s);
-<a name="l00224"></a>00224
-<a name="l00226"></a>00226 <span class="comment">// Bit-manipulation functions</span>
-<a name="l00227"></a>00227
-<a name="l00228"></a>00228 <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="l00229"></a>00229 <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="l00230"></a>00230 <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="l00231"></a>00231 <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> valueIfZero=0);
-<a name="l00232"></a>00232 <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> valueIfZero=0);
-<a name="l00233"></a>00233 <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="l00234"></a>00234 <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="l00235"></a>00235 <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="l00236"></a>00236 <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="l00237"></a>00237 <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="l00238"></a>00238 <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="l00239"></a>00239
-<a name="l00241"></a>00241 <span class="comment">// Modular math functions</span>
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modBy);
-<a name="l00244"></a>00244 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; by, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00245"></a>00245 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00246"></a>00246 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
-<a name="l00247"></a>00247 modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
-<a name="l00248"></a>00248 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00249"></a>00249
-<a name="l00251"></a>00251 <span class="comment">// Random number functions</span>
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a>(T &amp;gen);
-<a name="l00254"></a>00254 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span>
-<a name="l00255"></a>00255 lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
-<a name="l00256"></a>00256
-<a name="l00258"></a>00258 <span class="comment">// Prime number functions</span>
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
-<a name="l00261"></a>00261 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
-<a name="l00262"></a>00262
-<a name="l00264"></a>00264 <span class="comment">// Operators for the integer class</span>
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266 <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">integer</a>&amp; n1);
-<a name="l00267"></a>00267 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00268"></a>00268 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00269"></a>00269 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00270"></a>00270 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00271"></a>00271 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00272"></a>00272 <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">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00273"></a>00273
-<a name="l00274"></a>00274 <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; a);
-<a name="l00275"></a>00275 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; a);
-<a name="l00276"></a>00276 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</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="l00277"></a>00277 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</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="l00278"></a>00278 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</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="l00279"></a>00279 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</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="l00280"></a>00280 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</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="l00281"></a>00281 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</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="l00282"></a>00282 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</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="l00283"></a>00283 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</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="l00284"></a>00284
-<a name="l00286"></a>00286 <span class="comment">// Exception classes</span>
-<a name="l00287"></a>00287
-<a name="l00288"></a><a class="code" href="classxint_1_1invalid__base.html">00288</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__base.html">invalid_base</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00289"></a>00289 <span class="keyword">public</span>:
-<a name="l00290"></a><a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">00290</a> <a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">invalid_base</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid base&quot;</span>): invalid_argument(what)
-<a name="l00291"></a>00291 { }
-<a name="l00292"></a>00292 };
-<a name="l00293"></a>00293
-<a name="l00294"></a><a class="code" href="classxint_1_1invalid__digit.html">00294</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__digit.html">invalid_digit</a>: <span class="keyword">public</span> std::range_error {
-<a name="l00295"></a>00295 <span class="keyword">public</span>:
-<a name="l00296"></a><a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">00296</a> <a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">invalid_digit</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid digit&quot;</span>): range_error(what)
-<a name="l00297"></a>00297 { }
-<a name="l00298"></a>00298 };
-<a name="l00299"></a>00299
-<a name="l00300"></a><a class="code" href="classxint_1_1invalid__modulus.html">00300</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__modulus.html">invalid_modulus</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00301"></a>00301 <span class="keyword">public</span>:
-<a name="l00302"></a><a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">00302</a> <a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">invalid_modulus</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid modulus&quot;</span>):
-<a name="l00303"></a>00303 invalid_argument(what) { }
-<a name="l00304"></a>00304 };
-<a name="l00305"></a>00305
-<a name="l00306"></a><a class="code" href="classxint_1_1divide__by__zero.html">00306</a> <span class="keyword">class </span><a class="code" href="classxint_1_1divide__by__zero.html">divide_by_zero</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00307"></a>00307 <span class="keyword">public</span>:
-<a name="l00308"></a><a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">00308</a> <a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;divide by zero error&quot;</span>):
-<a name="l00309"></a>00309 invalid_argument(what) { }
-<a name="l00310"></a>00310 };
-<a name="l00311"></a>00311
-<a name="l00312"></a><a class="code" href="classxint_1_1cannot__represent.html">00312</a> <span class="keyword">class </span><a class="code" href="classxint_1_1cannot__represent.html">cannot_represent</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00313"></a>00313 <span class="keyword">public</span>:
-<a name="l00314"></a><a class="code" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">00314</a> <a class="code" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">cannot_represent</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;cannot represent the requested &quot;</span>
-<a name="l00315"></a>00315 <span class="stringliteral">&quot;value&quot;</span>): invalid_argument(what) { }
-<a name="l00316"></a>00316 };
-<a name="l00317"></a>00317
-<a name="l00318"></a><a class="code" href="classxint_1_1too__big.html">00318</a> <span class="keyword">class </span><a class="code" href="classxint_1_1too__big.html">too_big</a>: <span class="keyword">public</span> std::range_error {
-<a name="l00319"></a>00319 <span class="keyword">public</span>:
-<a name="l00320"></a><a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">00320</a> <a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">too_big</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;value out of range for requested &quot;</span>
-<a name="l00321"></a>00321 <span class="stringliteral">&quot;conversion&quot;</span>): range_error(what) { }
-<a name="l00322"></a>00322 };
-<a name="l00323"></a>00323
-<a name="l00324"></a><a class="code" href="classxint_1_1not__a__number.html">00324</a> <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>: <span class="keyword">public</span> std::runtime_error {
-<a name="l00325"></a>00325 <span class="keyword">public</span>:
-<a name="l00326"></a><a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">00326</a> <a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">not_a_number</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;attempted to use a Not-a-Number&quot;</span>):
-<a name="l00327"></a>00327 runtime_error(what) { }
-<a name="l00328"></a>00328 };
-<a name="l00329"></a>00329
-<a name="l00330"></a><a class="code" href="classxint_1_1no__strong__random.html">00330</a> <span class="keyword">class </span><a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>: <span class="keyword">public</span> std::runtime_error {
-<a name="l00331"></a>00331 <span class="keyword">public</span>:
-<a name="l00332"></a><a class="code" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">00332</a> <a class="code" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">no_strong_random</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;system does not have a strong &quot;</span>
-<a name="l00333"></a>00333 <span class="stringliteral">&quot;random generator&quot;</span>): runtime_error(what) { }
-<a name="l00334"></a>00334 };
-<a name="l00335"></a>00335
-<a name="l00336"></a><a class="code" href="classxint_1_1overflow__error.html">00336</a> <span class="keyword">class </span><a class="code" href="classxint_1_1overflow__error.html">overflow_error</a>: <span class="keyword">public</span> std::<a class="code" href="classxint_1_1overflow__error.html">overflow_error</a> {
-<a name="l00337"></a>00337 <span class="keyword">public</span>:
-<a name="l00338"></a><a class="code" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">00338</a> <a class="code" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">overflow_error</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;overflow error in XInt library&quot;</span>):
-<a name="l00339"></a>00339 std::<a class="code" href="classxint_1_1overflow__error.html">overflow_error</a>(what) { }
-<a name="l00340"></a>00340 };
-<a name="l00341"></a>00341
-<a name="l00343"></a>00343 <span class="comment">// Template function definitions</span>
-<a name="l00344"></a>00344
-<a name="l00345"></a><a class="code" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">00345</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00346"></a>00346 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00347"></a>00347 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00348"></a>00348 {
-<a name="l00349"></a>00349 <span class="keywordflow">if</span> (n &gt;= 0) {
-<a name="l00350"></a>00350 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
-<a name="l00351"></a>00351 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
-<a name="l00352"></a>00352 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
-<a name="l00353"></a>00353 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;T&gt;::min)()) {
-<a name="l00354"></a>00354 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
-<a name="l00355"></a>00355 <span class="comment">// what you&#39;d think it is.</span>
-<a name="l00356"></a>00356 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-(n+1)));
-<a name="l00357"></a>00357 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00358"></a>00358 --(*this);
-<a name="l00359"></a>00359 } <span class="keywordflow">else</span> {
-<a name="l00360"></a>00360 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-n));
-<a name="l00361"></a>00361 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00362"></a>00362 }
-<a name="l00363"></a>00363 }
-<a name="l00364"></a>00364
-<a name="l00365"></a><a class="code" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">00365</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00366"></a>00366 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00367"></a>00367 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00368"></a>00368 {
-<a name="l00369"></a>00369 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
-<a name="l00370"></a>00370 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
-<a name="l00371"></a>00371 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
-<a name="l00372"></a>00372 }
-<a name="l00373"></a>00373
-<a name="l00374"></a>00374 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00375"></a><a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">00375</a> T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) {
-<a name="l00376"></a>00376 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00377"></a>00377 <span class="keywordflow">if</span> (n &lt; (std::numeric_limits&lt;T&gt;::min)()
-<a name="l00378"></a>00378 || n &gt; (std::numeric_limits&lt;T&gt;::max)())
-<a name="l00379"></a>00379 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1too__big.html">too_big</a>(<span class="stringliteral">&quot;value out of range for requested conversion&quot;</span>);
-<a name="l00380"></a>00380
-<a name="l00381"></a>00381 T rval=0;
-<a name="l00382"></a>00382 <span class="keywordtype">size_t</span> len=n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>();
-<a name="l00383"></a>00383 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x&lt;len; ++x)
-<a name="l00384"></a>00384 rval=static_cast&lt;T&gt;((rval * <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">detail::digit_overflowbit</a>)
-<a name="l00385"></a>00385 + n.<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(len-x-1));
-<a name="l00386"></a>00386 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) rval *= -1;
-<a name="l00387"></a>00387 <span class="keywordflow">return</span> rval;
-<a name="l00388"></a>00388 }
-<a name="l00389"></a>00389
-<a name="l00390"></a>00390 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00391"></a><a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">00391</a> <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a>(T &amp;gen) {
-<a name="l00392"></a>00392 <a class="code" href="structxint_1_1detail_1_1random__generator.html">detail::random_generator&lt;T&gt;</a> *obj=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html">detail::random_generator&lt;T&gt;</a>(gen);
-<a name="l00393"></a>00393 <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">detail::set_random_generator</a>(*obj, obj);
-<a name="l00394"></a>00394 }
-<a name="l00395"></a>00395
-<a name="l00396"></a>00396 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00397"></a><a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">00397</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00398"></a>00398 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
-<a name="l00399"></a>00399 {
-<a name="l00400"></a>00400 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) {
-<a name="l00401"></a>00401 out &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>;
-<a name="l00402"></a>00402 } <span class="keywordflow">else</span> {
-<a name="l00403"></a>00403 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
-<a name="l00404"></a>00404 : (out.flags() &amp; std::ios::oct) ? 8
-<a name="l00405"></a>00405 : 10);
-<a name="l00406"></a>00406 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00407"></a>00407
-<a name="l00408"></a>00408 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
-<a name="l00409"></a>00409 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
-<a name="l00412"></a>00412 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
-<a name="l00413"></a>00413 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00414"></a>00414
-<a name="l00415"></a>00415 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n), base, upperCase);
-<a name="l00416"></a>00416 } <span class="keywordflow">else</span> {
-<a name="l00417"></a>00417 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(n, base, upperCase);
-<a name="l00418"></a>00418 }
-<a name="l00419"></a>00419 }
-<a name="l00420"></a>00420 <span class="keywordflow">return</span> out;
-<a name="l00421"></a>00421 }
-<a name="l00422"></a>00422
-<a name="l00423"></a>00423 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00424"></a><a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">00424</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00425"></a>00425 traits&gt;&amp; in, <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
-<a name="l00426"></a>00426 {
-<a name="l00427"></a>00427 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
-<a name="l00428"></a>00428 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
-<a name="l00429"></a>00429 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
-<a name="l00430"></a>00430 <span class="keywordtype">int</span> count=hex+dec+oct;
-<a name="l00431"></a>00431
-<a name="l00432"></a>00432 <span class="keywordtype">size_t</span> base=<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>;
-<a name="l00433"></a>00433 <span class="keywordflow">if</span> (count==1) {
-<a name="l00434"></a>00434 <span class="keywordflow">if</span> (hex) base=16;
-<a name="l00435"></a>00435 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
-<a name="l00436"></a>00436 <span class="keywordflow">else</span> base=10;
-<a name="l00437"></a>00437 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count&gt;1) base=10;
-<a name="l00438"></a>00438 <span class="comment">// else auto-base</span>
-<a name="l00439"></a>00439
-<a name="l00440"></a>00440 std::string s;
-<a name="l00441"></a>00441 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;+&#39;</span>) {
-<a name="l00442"></a>00442 in.ignore();
-<a name="l00443"></a>00443 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;-&#39;</span>) {
-<a name="l00444"></a>00444 in.ignore();
-<a name="l00445"></a>00445 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
-<a name="l00446"></a>00446 }
-<a name="l00447"></a>00447
-<a name="l00448"></a>00448 <span class="keywordflow">if</span> (base==<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>) {
-<a name="l00449"></a>00449 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00450"></a>00450 in.ignore();
-<a name="l00451"></a>00451 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00452"></a>00452 <span class="keywordflow">if</span> (c==<span class="charliteral">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00453"></a>00453 in.ignore();
-<a name="l00454"></a>00454 base=16;
-<a name="l00455"></a>00455 } <span class="keywordflow">else</span> base=8;
-<a name="l00456"></a>00456 } <span class="keywordflow">else</span> base=10;
-<a name="l00457"></a>00457 }
-<a name="l00458"></a>00458
-<a name="l00459"></a>00459 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
-<a name="l00460"></a>00460 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l00461"></a>00461 <span class="keywordtype">char</span> buffer[6];
-<a name="l00462"></a>00462 std::streamsize size=in.readsome(buffer, 5);
-<a name="l00463"></a>00463 buffer[size]=0;
-<a name="l00464"></a>00464 std::string str(buffer);
-<a name="l00465"></a>00465
-<a name="l00466"></a>00466 <span class="keywordflow">if</span> (str==<a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>) n=<a class="code" href="classxint_1_1integer.html">integer</a>(<a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>());
-<a name="l00467"></a>00467 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l00468"></a>00468 } <span class="keywordflow">else</span> {
-<a name="l00469"></a>00469 <span class="keywordflow">while</span> (in) {
-<a name="l00470"></a>00470 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00471"></a>00471 <span class="keywordflow">if</span> ((base==8 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
-<a name="l00472"></a>00472 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
-<a name="l00473"></a>00473 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
-<a name="l00474"></a>00474 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</span>))))
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 in.ignore();
-<a name="l00477"></a>00477 s.push_back(<span class="keywordtype">char</span>(c));
-<a name="l00478"></a>00478 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00479"></a>00479 }
-<a name="l00480"></a>00480
-<a name="l00481"></a>00481 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> allow=<a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
-<a name="l00482"></a>00482 <span class="keywordflow">try</span> {
-<a name="l00483"></a>00483 <a class="code" href="classxint_1_1integer.html">xint::integer</a> testValue=<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string</a>(s, base);
-<a name="l00484"></a>00484 n=testValue;
-<a name="l00485"></a>00485 } <span class="keywordflow">catch</span> (<a class="code" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a>&amp;) {
-<a name="l00486"></a>00486 <span class="comment">// Catch invalid strings</span>
-<a name="l00487"></a>00487 in.setstate(std::ios::failbit);
-<a name="l00488"></a>00488 }
-<a name="l00489"></a>00489 }
-<a name="l00490"></a>00490
-<a name="l00491"></a>00491 <span class="keywordflow">return</span> in;
-<a name="l00492"></a>00492 }
-<a name="l00493"></a>00493
-<a name="l00494"></a>00494 } <span class="comment">// namespace xint</span>
-<a name="l00495"></a>00495
-<a name="l00496"></a>00496 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_H</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/xint__data__t_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.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/xint_data_t.hpp File Reference</h1><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>Classes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td></tr>
-<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="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/xint__data__t_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,171 +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/xint_data_t.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file contains the declaration for the xint data structure. It should</span>
-<a name="l00012"></a>00012 <span class="comment"> only be used by the library itself.</span>
-<a name="l00013"></a>00013 <span class="comment"></span>
-<a name="l00014"></a>00014 <span class="comment"> The data for an integer is stored in a separate struct so it can be shared</span>
-<a name="l00015"></a>00015 <span class="comment"> between different copies of an identical number.</span>
-<a name="l00016"></a>00016 <span class="comment"></span>
-<a name="l00017"></a>00017 <span class="comment"> The digits are stored low-digit-first.</span>
-<a name="l00018"></a>00018 <span class="comment"></span>
-<a name="l00019"></a>00019 <span class="comment"> Define XINT_SECURE to zero all memory before releasing it.</span>
-<a name="l00020"></a>00020 <span class="comment">*/</span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_DATA_T_H</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_DATA_T_H</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#if !defined(XINT_SECURE)</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;vector&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>xint {
-<a name="l00030"></a>00030 <span class="keyword">namespace </span>detail {
-<a name="l00031"></a>00031
-<a name="l00032"></a><a class="code" href="structxint_1_1detail_1_1data__t.html">00032</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> {
-<a name="l00033"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">00033</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">QuickDigits</a> {
-<a name="l00034"></a>00034 <span class="comment">// We want at least enough QuickDigits to hold two ints.</span>
-<a name="l00035"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">00035</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>=std::numeric_limits&lt;unsigned int&gt;::digits;
-<a name="l00036"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">00036</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>=(2*<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00037"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">00037</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a>=3;
-<a name="l00038"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">00038</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a>=(<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>);
-<a name="l00039"></a>00039 };
-<a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">00041</a> <span class="keywordtype">size_t</span> <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>;
-<a name="l00042"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">00042</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</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#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>[<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>];
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="preprocessor"> #if !defined(XINT_SECURE)</span>
-<a name="l00045"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">00045</a> <span class="preprocessor"></span> std::vector&lt;digit_t&gt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>;
-<a name="l00046"></a>00046 <span class="preprocessor"> #endif</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span>
-<a name="l00048"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">00048</a> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>;
-<a name="l00049"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">00049</a> <span class="keywordtype">bool</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keyword">public</span>:
-<a name="l00052"></a>00052 <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial1=0, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial2=0, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial3=0);
-<a name="l00053"></a>00053 <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c);
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="preprocessor"> #if defined(XINT_SECURE)</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span> ~<a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>();
-<a name="l00057"></a>00057 <span class="preprocessor"> #endif</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span>
-<a name="l00059"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">00059</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>() { ++<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>; }
-<a name="l00060"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">00060</a> <span class="keywordtype">bool</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>() { <span class="keywordflow">return</span> (--<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==0); }
-<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(<span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keywordtype">bool</span> copydigits=<span class="keyword">false</span>);
-<a name="l00062"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">00062</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<span class="keywordtype">size_t</span> newdigits) { <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(newdigits, <span class="keyword">true</span>); }
-<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">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=0);
-<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p, <span class="keywordtype">size_t</span> count);
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">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=0, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3=0);
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">invert</a>();
-<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>();
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="comment">// These primitives ignore the signs of the parameters, and their results</span>
-<a name="l00073"></a>00073 <span class="comment">// are calculated in place.</span>
-<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">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="l00075"></a>00075 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">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="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="comment">// These are also calculated in place, for maximum speed.</span>
-<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(<span class="keywordtype">size_t</span> byBits);
-<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(<span class="keywordtype">size_t</span> byBits);
-<a name="l00080"></a>00080 };
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 } <span class="comment">// namespace detail</span>
-<a name="l00083"></a>00083 } <span class="comment">// namespace xint</span>
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_DATA_T_H</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/xint__fibonacci_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,130 +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/libs/xint/example/xint_fibonacci.cpp File Reference</h1>
-<p>Simple demo of xint sending the fibonacci sequence to stream output.
-More...</p>
-<code>#include &lt;iostream&gt;</code><br/>
-<code>#include &lt;limits&gt;</code><br/>
-<code>#include &lt;<a class="el" href="xint_8hpp_source.html">boost/xint/xint.hpp</a>&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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Simple demo of xint sending the fibonacci sequence to stream output. </p>
-<p>Fibonacci numbers are a sequence of numbers, starting with the numbers 0 and 1, where each successive number is the sum of the previous two.</p>
-<p>The first few Fibonacci numbers are:</p>
-<p>0 1 1 2 3 5 8 13 21 34 55 89 144...</p>
-<p>You might be curious what the first Fibonacci number is that's too big to calculate using the standard C++ unsigned long type. A brute-force method of calculating this would be problematic, since it might not be possible to tell when it overflows. But with the XInt library, it's child's play.</p>
-<p>If you're not intimately familiar with the Fibonacci sequence, and how fast the numbers in it grow, the answer might shock you.</p>
-<p>As you can see, using the XInt library is just like using the native integer types -- except that an <a class="el" href="classxint_1_1integer.html">xint::integer</a> won't overflow on you until you completely exhaust your system's memory. :-) </p>
-
-<p>Definition in file <a class="el" href="xint__fibonacci_8cpp_source.html">xint_fibonacci.cpp</a>.</p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a><!-- doxytag: member="xint_fibonacci.cpp::main" ref="ae66f6b31b5ad750f1fe042a706a4e3d4" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int main </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="xint__fibonacci_8cpp_source.html#l00040">40</a> of file <a class="el" href="xint__fibonacci_8cpp_source.html">xint_fibonacci.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/xint__fibonacci_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,143 +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/libs/xint/example/xint_fibonacci.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// xint_fibonacci.cpp</span>
-<a name="l00002"></a>00002
-<a name="l00003"></a>00003 <span class="comment">// Copyright Chad Nelson 2010</span>
-<a name="l00004"></a>00004 <span class="comment">//</span>
-<a name="l00005"></a>00005 <span class="comment">// Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00006"></a>00006 <span class="comment">// (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="xint_8hpp.html">boost/xint/xint.hpp</a>&gt;</span>
-<a name="l00039"></a>00039
-<a name="l00040"></a><a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">00040</a> <span class="keywordtype">int</span> <a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {
-<a name="l00041"></a>00041 <span class="keyword">using</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>;
-<a name="l00042"></a>00042 <span class="keyword">using</span> std::cout;
-<a name="l00043"></a>00043 <span class="keyword">using</span> std::endl;
-<a name="l00044"></a>00044 <span class="keyword">using</span> std::numeric_limits;
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="comment">//[xint_fibonacci_snippet_1</span>
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="comment">// Select our limit, in this case the largest number </span>
-<a name="l00049"></a>00049 <span class="comment">// that will fit into an unsigned long:</span>
-<a name="l00050"></a>00050 integer limit=(std::numeric_limits&lt;unsigned long&gt;::max)();
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="comment">// Set the first two numbers in the sequence:</span>
-<a name="l00053"></a>00053 integer n, n1=0, n2=1;
-<a name="l00054"></a>00054 <span class="comment">//] [xint_fibonacci_snippet_1]</span>
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="comment">// Now count the items in the sequence as we iterate over them,</span>
-<a name="l00057"></a>00057 <span class="comment">// until we come to the first one greater than the limit we&#39;ve set.</span>
-<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> counter=0;
-<a name="l00059"></a>00059 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n1 &lt;&lt; endl;
-<a name="l00060"></a>00060 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n2 &lt;&lt; endl;
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
-<a name="l00063"></a>00063 n = n1 + n2;
-<a name="l00064"></a>00064 <span class="keywordflow">if</span> (n &gt; limit) <span class="keywordflow">break</span>;
-<a name="l00065"></a>00065 <span class="comment">// That one didn&#39;t do it, go back for another try.</span>
-<a name="l00066"></a>00066 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n &lt;&lt; endl;
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 n1=n2;
-<a name="l00069"></a>00069 n2=n;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 cout &lt;&lt; <span class="stringliteral">&quot;The answer is &quot;</span> &lt;&lt; counter &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; endl;
-<a name="l00073"></a>00073 } <span class="comment">// int main()</span>
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="comment">/*</span>
-<a name="l00077"></a>00077 <span class="comment">//[xint_fibonacci_output_1</span>
-<a name="l00078"></a>00078 <span class="comment"></span>
-<a name="l00079"></a>00079 <span class="comment"></span>
-<a name="l00080"></a>00080 <span class="comment"></span>
-<a name="l00081"></a>00081 <span class="comment">//] [xint_fibonacci_output_1]</span>
-<a name="l00082"></a>00082 <span class="comment">*/</span>
-<a name="l00083"></a>00083
-</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/xint__monty_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.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/xint_monty.hpp File Reference</h1>
-<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">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>
-</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/xint__monty_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,116 +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/xint_monty.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This file declares the functions that use the Montgomery Reduction. They are</span>
-<a name="l00012"></a>00012 <span class="comment"> used internally to speed up the powmod function for odd modulii.</span>
-<a name="l00013"></a>00013 <span class="comment">*/</span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_MONTY_H</span>
-<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_MONTY_H</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span>
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>xint {
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">inverse0</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00021"></a>00021 integer <a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n);
-<a name="l00022"></a>00022 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="l00023"></a>00023 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="l00024"></a>00024 integer <a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; y, <span class="keyword">const</span> integer&amp;
-<a name="l00025"></a>00025 m, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> nPrime0);
-<a name="l00026"></a>00026 integer <a class="code" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">montgomeryPowerMod</a>(<span class="keyword">const</span> integer&amp; x, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m);
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 } <span class="comment">// namespace xint</span>
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_H</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/xint__simple_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,123 +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/libs/xint/example/xint_simple.cpp File Reference</h1>
-<p>Simple demo of xint including stream output.
-More...</p>
-<code>#include &lt;<a class="el" href="xint_8hpp_source.html">boost/xint/xint.hpp</a>&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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Simple demo of xint including stream output. </p>
-<p>Tests a few operators for output to a std:: stream. </p>
-
-<p>Definition in file <a class="el" href="xint__simple_8cpp_source.html">xint_simple.cpp</a>.</p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a><!-- doxytag: member="xint_simple.cpp::main" ref="ae66f6b31b5ad750f1fe042a706a4e3d4" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int main </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="xint__simple_8cpp_source.html#l00026">26</a> of file <a class="el" href="xint__simple_8cpp_source.html">xint_simple.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/xint__simple_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,137 +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/libs/xint/example/xint_simple.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// xint_simple.cpp</span>
-<a name="l00002"></a>00002
-<a name="l00003"></a>00003 <span class="comment">// Copyright Paul A. Bristow 2010</span>
-<a name="l00004"></a>00004 <span class="comment">//</span>
-<a name="l00005"></a>00005 <span class="comment">// Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00006"></a>00006 <span class="comment">// (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="xint_8hpp.html">boost/xint/xint.hpp</a>&gt;</span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="comment">//#include &lt;iostream&gt;</span>
-<a name="l00019"></a>00019 <span class="comment">//using std::cout;</span>
-<a name="l00020"></a>00020 <span class="comment">//using std::endl;</span>
-<a name="l00021"></a>00021 <span class="comment">//#include &lt;iomanip&gt;</span>
-<a name="l00022"></a>00022 <span class="comment">//using std::setprecision;</span>
-<a name="l00023"></a>00023 <span class="comment">//using std::setw;</span>
-<a name="l00024"></a>00024 <span class="comment">//#include &lt;limits&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">00026</a> <span class="keywordtype">int</span> <a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>()
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="comment">// TODO I think you should get this into the boost namespace now or there will be zillions of places to change.</span>
-<a name="l00029"></a>00029 <span class="comment">//using namespace boost::xint</span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="comment">//using namespace xint;</span>
-<a name="l00032"></a>00032 <span class="comment">//using xint::integer;</span>
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="comment">//[xint_simple_snippet_1</span>
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <a class="code" href="classxint_1_1integer.html">xint::integer</a> a;
-<a name="l00037"></a>00037 <span class="comment">//integer b = 3;</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="comment">//integer c = a + b;</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="comment">//cout &lt;&lt; a &lt;&lt; &quot;, b = &quot; &lt;&lt; b &lt;&lt; &quot;, a + b = &quot; &lt;&lt; a + b &lt;&lt; endl;</span>
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="comment">//] [xint_simple_snippet_1]</span>
-<a name="l00044"></a>00044 <span class="keywordflow">return</span> 0;
-<a name="l00045"></a>00045 } <span class="comment">// int(main)</span>
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="comment">/*</span>
-<a name="l00048"></a>00048 <span class="comment"></span>
-<a name="l00049"></a>00049 <span class="comment"></span>
-<a name="l00050"></a>00050 <span class="comment">//[xint_simple_output</span>
-<a name="l00051"></a>00051 <span class="comment">Output:</span>
-<a name="l00052"></a>00052 <span class="comment"></span>
-<a name="l00053"></a>00053 <span class="comment"></span>
-<a name="l00054"></a>00054 <span class="comment">//] [xint_simple_output]</span>
-<a name="l00055"></a>00055 <span class="comment">*/</span>
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058
-</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/xint__test_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.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/xint_test.hpp File Reference</h1>
-<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#a972fb39595e902be6c50629356b44e5b">xint::testAll</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#a509778d505a3c8a0b335817150eaead2">xint::testBitManipulations</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6b7f5122683b6d924bf86c7d1507206b">xint::testAddSubtract</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">xint::testMultiply</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">xint::testDivideMod</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">xint::testConvert</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint::testStreams</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">xint::testMontyMultiply</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">xint::testMontyPowerMod</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/xint__test_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,117 +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/xint_test.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00002"></a>00002 <span class="comment">/*</span>
-<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
-<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
-<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
-<a name="l00006"></a>00006 <span class="comment"></span>
-<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00010"></a>00010 <span class="comment"></span>
-<a name="l00011"></a>00011 <span class="comment"> This header file declares the library&#39;s self-testing functions.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00016"></a>00016 <span class="preprocessor"></span>
-<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#a972fb39595e902be6c50629356b44e5b">testAll</a>();
-<a name="l00020"></a>00020 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a509778d505a3c8a0b335817150eaead2">testBitManipulations</a>();
-<a name="l00021"></a>00021 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a6b7f5122683b6d924bf86c7d1507206b">testAddSubtract</a>();
-<a name="l00022"></a>00022 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">testMultiply</a>();
-<a name="l00023"></a>00023 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">testDivideMod</a>();
-<a name="l00024"></a>00024 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">testConvert</a>();
-<a name="l00025"></a>00025 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">testStreams</a>();
-<a name="l00026"></a>00026 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">testMontyMultiply</a>();
-<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">testMontyPowerMod</a>();
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 } <span class="comment">// namespace xint</span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_TEST_H</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/images/Written_for_Boost.png
==============================================================================
Binary file. No diff available.

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

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

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

Deleted: sandbox/xint/libs/xint/doc/doxygen/tabs.css
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/tabs.css 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,111 +0,0 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-/*! \file tabs.css
-\brief provides use of images of tabs used by Doxygen for Files, Class, Namespaces ...
- */
- /*
- 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)
-*/
-
-DIV.tabs
-{
- float : left;
- width : 100%;
- background : url("tab_b.gif") repeat-x bottom;
- margin-bottom : 4px;
-}
-
-DIV.tabs UL
-{
- margin : 0px;
- padding-left : 10px;
- list-style : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
- display : inline;
- margin : 0px;
- padding : 0px;
-}
-
-DIV.tabs FORM
-{
- float : right;
-}
-
-DIV.tabs A
-{
- float : left;
- background : url("tab_r.gif") no-repeat right top;
- border-bottom : 1px solid #84B0C7;
- font-size : 8px;
- font-weight : bold;
- text-decoration : none;
-}
-
-DIV.tabs A:hover
-{
- background-position: 100% -150px;
-}
-
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
- color: #1A419D;
-}
-
-DIV.tabs SPAN
-{
- float : left;
- display : block;
- background : url("tab_l.gif") no-repeat left top;
- padding : 5px 9px;
- white-space : nowrap;
-}
-
-DIV.tabs INPUT
-{
- float : right;
- display : inline;
- font-size : 1em;
-}
-
-DIV.tabs TD
-{
- font-size : 8px;
- font-weight : bold;
- text-decoration : none;
-}
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
- background-position: 0% -150px;
-}
-
-DIV.tabs LI.current A
-{
- background-position: 100% -150px;
- border-width : 0px;
-}
-
-DIV.tabs LI.current SPAN
-{
- background-position: 0% -150px;
- padding-bottom : 6px;
-}
-
-DIV.navpath
-{
- background : none;
- border : none;
- border-bottom : 1px solid #84B0C7;
-}

Deleted: sandbox/xint/libs/xint/doc/doxygen/xint_doxygen.css
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/xint_doxygen.css 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,512 +0,0 @@
-/*
- The standard CSS for doxygen
- with changed code (syntax) colorization xint_doxygen.css.
-*/
-
-/*
- Copyright Paul A. Bristow 2010
- 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;
- font-size: 150%;
-}
-
-h2 {
- font-size: 120%;
-}
-
-h3 {
- font-size: 100%;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #153788;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #1b77c5;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #6666cc;
- color: #ffffff;
- border: 1px double #9295C2;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
-}
-
-a.codeRef {
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-.fragment {
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-pre.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-
-td.indexkey {
- background-color: #e8eef2;
- font-weight: bold;
- border: 1px solid #CCCCCC;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
-}
-
-td.indexvalue {
- background-color: #e8eef2;
- border: 1px solid #CCCCCC;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #f0f0f0;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code (syntax) Colorization */
-
-span.keyword {
- color: blue
-}
-
-span.keywordtype {
- color: blue
-}
-
-span.keywordflow {
- color: blue
-}
-
-span.comment {
- color: green
-}
-
-span.preprocessor {
- color: darkblue
-}
-
-span.stringliteral {
- color: brown
-}
-
-span.charliteral {
- color: brown
-}
-
-span.operator {
- color: red
-}
-span.vhdldigit {
- color: red
-}
-
-span.vhdlchar {
- color: brown
-}
-
-span.vhdlkeyword {
- color: blue
-}
-
-span.vhdllogic {
- color: magenta
-}
-
-/* @end */
-
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #84b0c7;
-}
-
-th.dirtab {
- background: #e8eef2;
- font-weight: bold;
-}
-
-hr {
- height: 0;
- border: none;
- border-top: 1px solid #666;
-}
-
-/* @group Member Descriptions */
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #FAFAFA;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #ccc;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memTemplParams {
- color: #606060;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation. */
-
-.memtemplate {
- font-size: 80%;
- color: #606060;
- font-weight: normal;
- margin-left: 3px;
-}
-
-.memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
-}
-
-.memname {
- white-space: nowrap;
- font-weight: bold;
-}
-
-.memproto, .memdoc {
- border: 1px solid #84b0c7;
-}
-
-.memproto {
- padding: 0;
- background-color: #d5e1e8;
- font-weight: bold;
- -webkit-border-top-left-radius: 8px;
- -webkit-border-top-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -moz-border-radius-topleft: 8px;
- -moz-border-radius-topright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-
-}
-
-.memdoc {
- padding: 2px 5px;
- background-color: #eef3f5;
- border-top-width: 0;
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -moz-border-radius-bottomleft: 8px;
- -moz-border-radius-bottomright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view. */
-
-.ftvtree {
- font-family: sans-serif;
- margin: 0.5em;
-}
-
-/* These are for tree view when used as main index. */
-
-.directory {
- font-size: 9pt;
- font-weight: bold;
-}
-
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice. Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
- height: 61px;
- background-repeat: no-repeat;
- background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
- display: none;
-}
-*/
-
-.directory > h3 {
- margin-top: 0;
-}
-
-.directory p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory div {
- display: none;
- margin: 0px;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-/* These are for tree view when not used as main index. */
-
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
-}
-
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-.directory-alt > h3 {
- margin-top: 0;
-}
-
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory-alt div {
- display: none;
- margin: 0px;
-}
-
-.directory-alt img {
- vertical-align: -30%;
-}
-
-/* @end */
-
-address {
- font-style: normal;
- color: #333;
-}

Deleted: sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_footer.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_footer.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,29 +0,0 @@
-<!-- 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 - $year Chad Nelson, Oak Circle Software, Inc</p>
- <!-- $year 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 $doxygenversion, Revised at $datetime</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/xint_doxygen_header.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/xint_doxygen_header.html 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,40 +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 $datetime $projectname $projectnumber</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>
-

Deleted: sandbox/xint/libs/xint/doc/xint.qbk
==============================================================================
--- sandbox/xint/libs/xint/doc/xint.qbk 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,166 +0,0 @@
-[article Extened Integer library..
- [quickbook 1.5]
- [id xint]
- [copyright 2010 Chad Nelson]
- [license
- 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])
- ]
- [authors [Nelson, Chad]]
- [source-mode c++]
- [purpose xInt - and extended integer library.]
-]
-
-[/ Images]
-[/ $images is a reference to the folder where images are held.]
-
-[/ Links - by (most common) convention, prefixed with double underscore so not confused with other names.]
-[def __alert [$alert.png]] [/ Examples of your own images (in doc/html/images/ .]
-[def __tip [$tip.png]]
-[def :-) [$smiley.png]]
-
-[/ Some links to external sources.]
-[def __boost [@http://www.boost.org/ Boost]]
-[def __boostroot [@boost: Boost root]]
-[/Note the custom url schema for linkiing to files within the Boost distribution.]
-[/Note too that it can't be used for images.]
-[def __boostlicense [@http://www.boost.org/LICENSE_1_0.txt Boost License]]
-[def __boostlicense [@boost:/LICENSE_1_0.txt Boost License]]
-
-[def __boostbook [@http://www.boost.org/doc/html/boostbook.html BoostBook]]
-[def __boostbook_docs [@http://www.boost.org/doc/libs/1_41_0/doc/html/boostbook.html BoostBook documentation]]
-
-[def __quickbook [@http://www.boost.org/doc/tools/quickbook/index.html Quickbook]]
-[def __quickbook_syntax [@http://www.boost.org/doc/libs/1_41_0/doc/html/quickbook/ref.html Quickbook Syntax Compendium]]
-[def __docbook [@http://www.docbook.org/ DocBook]]
-[def __doxygen [@http://www.doxygen.org/ Doxygen]]
-[def __pdf [@http://www.adobe.com/products/acrobat/adobepdf.html PDF]]
-
-[/ Examples of links to classes in own files.]
-
-[def __todo [link quick_auto_dox_index.todo TODO]]
-
-[important This is NOT yet an official Boost library.]
-[/ Also be MUCH better to have separate Boost logo showing status as under development.]
-
-[note Comments and suggestions (even bugs!) to Chad Nelson]
-
-A printer-friendly PDF version of this manual is also available.
-
-[section:intro Introduction]
-[/ It is a good idea to give *all* sections an id - which must follow section: with *no* space(s).]
-[/ Perhaps also useful to use this text for the Doxygen standalone documentation.]
-
-xint is a C++ library that lets your program handle much, much larger integer numbers
-than the built-in int, long, or even long long types,
-and handle them using the same syntax that C and C++ use for the standard integer types.
-
-# Portable. It's written entirely in modern C++, with many different types of operating system,
-compiler, and hardware in mind.
-It will compile cleanly on many operating systems without any changes,
-automatically adapting to whatever native integer sizes are available.
-
-# Fast. Speed of execution takes a back seat to portability,
-so it doesn't include things like assembly-language modules
-to wring every last CPU cycle out of it -- but it's still pretty darn fast.
-
-# Features you need. Modular arithmetic. Bit manipulation functions.
-Cryptographically-secure random and prime number generation.
-A friendly and intuitive interface. An option for thread-safe operation.
-
-# Most of the time, all you need to do is add #include <boost/xint.hpp>
-at the top of your source code file, and declare your variable as type xint::integer.
-Then just use it the way you'd use any integer.
-If you need something more advanced, take a look in the reference section
-and you just might find it.
-
-[endsect] [/section:intro Introduction]
-
-[section Rationales]
-
-[h6 Why did you do X in the interface?]
-
-The interface is based on a paper by M.J. Kronenburg
-presented to the C++ Standards Committee in early 2004,
-[@http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1744.pdf N1692]
-
-and the "standardese" for it in
-[@http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1744.pdf N1744],
-Michiel Salters / Nederlands Normalisatie Instituut..
-
-[h6Then why didn't you follow those exactly?]
-
-The XInt library was designed before I knew about them. I adapted it to them later.
-
-There are only a few notable places where XInt differs from them:
-
-* It does not provide separate mathematical primitive functions for long long,
-as suggested in the second paper.
-This is partly because long long is not yet in the C++ standard,
-but mosty because I don't see a need for it.
-The conversion constructors are efficient enough for smaller values
-that there wouldn't be any noticeable benefit from it.
-* It does not, at present, implement a multiplication scheme with better performance
-than the "basecase" mentioned in section 3.4 of the first paper,
-primarily because I haven't had the time to research all of them yet.
-I suspect that most people using the library will usually be using numbers
-below the threshold where the more exotic algorithms are faster.
-
-[h6 Why use copy-on-write?]
-I've heard that causes problems with multi-threaded code.
-
-It's the best way I found to return large integers from functions efficiently.
-Some of these numbers can get huge, and move semantics aren't yet in the current standard.
-(Maybe that will change once they are.) It is also more CPU- and memory-efficient.
-
-It does cause problems when you try to use the library from multiple threads at the same time.
-To deal with that, the library can be compiled in a thread-safe mode,
-which ensures that every integer gets its own unique storage, among other things.
-You still have to ensure that only one thread accesses a particular integer at a time.
-
-[h6 Why are you using a roll-your-own system instead of boost::shared_ptr for the copy-on-write stuff?]
-
-Because it's a lot faster.
-I tried boost::shared_ptr, and under Linux with GCC 4.4.1 on the same computer,
-running my test suite went from 1.6 seconds to 3.4 seconds.
-The home-grown shared pointer design may not be quite as easy to work with in
-an exception-safe manner, but that's completely internal to the integer class,
-so only developers working on the library, rather than with it, have to deal with that.
-I'll accept that trade-off.
-
-[h6 Why have a Not-a-Number value?]
-
-Because it's the cleanest way I could find to return answers that don't represent valid integers.
-I tried using Boost.Optional for those,
-but it made the documentation harder to understand for someone
-who wasn't already familiar with Boost.Optional, as well as adding to the dependencies.
-I like Boost.Optional and use it quite often in my own code,
-but I expect a lot more people will want to use this library than will have any interest
-in learning Boost.Optional.
-
-[endsect] [/section Rationales]
-
-
-[section Revision history]
-
-Revision History
-
-This is the third incarnation of my large-integer library.
-The first was written as a research tool in 1995 and was never released.
-A second, improved version was used in some of my commercial Windows software.
-This third one shares only the spirit of the first two;
-it was designed and written from scratch
-using all the lessons I learned from writing the first two,
-as well as all the mathematical knowledge I could gather from various books and the Internet.
-
-This revision history refers only to this incarnation.
-
-0.90 beta, 2010-03-26 First version uploaded to the Boost File Vault for review.
-
-0.09 beta 2, 2010-03-30 Moved to sandbox and quickbook and Doxygen documentation produced.
-[endsect]
-[/include todo.qbk] [/section Revision history]
-
-[/include acknowledgements.qbk] [/ Who deserves credit for what.]
-[/references references.qbk] [/ references to academic papers, patents, prior art...]

Deleted: sandbox/xint/libs/xint/example/xint_fibonacci.cpp
==============================================================================
--- sandbox/xint/libs/xint/example/xint_fibonacci.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,222 +0,0 @@
-// xint_fibonacci.cpp
-
-// Copyright Chad Nelson 2010
-//
-// 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)
-
-/*!
- \file
- \brief Simple demo of xint sending the fibonacci sequence to stream output.
- \details
-
- Fibonacci numbers are a sequence of numbers, starting with the numbers 0 and 1,
- where each successive number is the sum of the previous two.
-
- http://en.wikipedia.org/wiki/Fibonacci_number
-
-The first few Fibonacci numbers are:
-
- 0 1 1 2 3 5 8 13 21 34 55 89 144...
-
-You might be curious what the first Fibonacci number is that's too big to calculate
-using the standard C++ unsigned long int type.
-A brute-force method of calculating this would be problematic,
-since it might not be possible to tell when it overflows.
-But with the XInt library, it's child's play.
-
-If you're not intimately familiar with the Fibonacci sequence,
-and how fast the numbers in it grow, the answer might shock you.
-
-As you can see, using the XInt library is just like using the native integer types
--- except that an xint::integer won't overflow on you
-until you completely exhaust your system's memory. :-)
-
- Output:
- \verbatim
-
-0: 0
-1: 1
-2: 1
-3: 2
-4: 3
-5: 5
-6: 8
-7: 13
-8: 21
-9: 34
-10: 55
-11: 89
-12: 144
-13: 233
-14: 377
-15: 610
-16: 987
-17: 1597
-18: 2584
-19: 4181
-20: 6765
-21: 10946
-22: 17711
-23: 28657
-24: 46368
-25: 75025
-26: 121393
-27: 196418
-28: 317811
-29: 514229
-30: 832040
-31: 1346269
-32: 2178309
-33: 3524578
-34: 5702887
-35: 9227465
-36: 14930352
-37: 24157817
-38: 39088169
-39: 63245986
-40: 102334155
-41: 165580141
-42: 267914296
-43: 433494437
-44: 701408733
-45: 1134903170
-46: 1836311903
-47: 2971215073
-The 1st Fibonacci member > 4294967295 is number 48, with value 4807526976.
-
- \endverbatim
-
-
-*/
-#include <iostream>
-#include <limits>
-
-#include <boost/xint/xint.hpp>
-// <boost/xint.hpp> ???
-
-int main()
-{
- using xint::integer;
- using std::cout;
- using std::endl;
- using std::numeric_limits;
-
-/*
- //[xint_fibonacci_snippet_1
-
- [@http://en.wikipedia.org/wiki/Fibonacci_number Fibonacci numbers]
-are a sequence of numbers, starting with the numbers 0 and 1,
- where each successive number is the sum of the previous two.
-
-The first few Fibonacci numbers are:
-
- 0 1 1 2 3 5 8 13 21 34 55 89 144...
-
-You might be curious what the first Fibonacci number is that's too big to calculate
-using the standard C++ unsigned long int type.
-A brute-force method of calculating this would be problematic,
-since it might not be possible to tell when it overflows.
-But with the XInt library, it's child's play.
-
-If you're not intimately familiar with the Fibonacci sequence,
-and how fast the numbers in it grow, the answer might shock you.
-
-As you can see, using the XInt library is just like using the native integer types
--- except that an xint::integer won't overflow on you
-until you completely exhaust your system's memory. :-)
-
-//] [xint_fibonacci_snippet_1]
-*/
-
- // Select our limit, in this case the largest number
- // that will fit into an unsigned long:
- integer limit = (std::numeric_limits<unsigned long>::max)();
-
- // Set the first two numbers in the sequence:
- integer n; // (= 0 by default).
- integer n1=0; // to hold the previous Fibonacci number.
- integer n2=1; // to hold the new Fibonacci number.
-
-
- // Now count the items in the sequence as we iterate over them,
- // until we come to the first one greater than the limit we've set.
- size_t counter=0;
- cout << counter++ << ": " << n1 << endl;
- cout << counter++ << ": " << n2 << endl;
-
- while (true)
- {
- n = n1 + n2; //
- if (n > limit) break;
- // That one didn't do it, go back for another try.
- cout << counter++ << ": " << n << endl;
-
- n1 = n2;
- n2 = n;
- }
-//[xint_fibonacci_snippet_2
-//` Finally we print the one that we could not compute using a unsigned long int.
- cout << "The 1st Fibonacci member > " << limit << " is number " << counter << ", with value " << n << "." << endl;
-//] [xint_fibonacci_snippet_2]
-
-} // int main()
-
-
-/*
-//[xint_fibonacci_output_1
-
-0: 0
-1: 1
-2: 1
-3: 2
-4: 3
-5: 5
-6: 8
-7: 13
-8: 21
-9: 34
-10: 55
-11: 89
-12: 144
-13: 233
-14: 377
-15: 610
-16: 987
-17: 1597
-18: 2584
-19: 4181
-20: 6765
-21: 10946
-22: 17711
-23: 28657
-24: 46368
-25: 75025
-26: 121393
-27: 196418
-28: 317811
-29: 514229
-30: 832040
-31: 1346269
-32: 2178309
-33: 3524578
-34: 5702887
-35: 9227465
-36: 14930352
-37: 24157817
-38: 39088169
-39: 63245986
-40: 102334155
-41: 165580141
-42: 267914296
-43: 433494437
-44: 701408733
-45: 1134903170
-46: 1836311903
-47: 2971215073
-The 1st Fibonacci member > 4294967295 is number 48, with value 4807526976.
-
-//] [xint_fibonacci_output_1]
-*/
-

Deleted: sandbox/xint/libs/xint/example/xint_simple.cpp
==============================================================================
--- sandbox/xint/libs/xint/example/xint_simple.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,101 +0,0 @@
-// xint_simple.cpp
-
-// Copyright Paul A. Bristow 2010
-//
-// 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)
-
-/**
-\file
-\brief Simple demo of xint including stream output.
-\details
-Tests a few operators for output to a std:: stream.
-**/
-
- // TODO I think you should get this into the boost namespace now or there will be zillions of places to change.
- //using namespace boost::xint
-
-//[xint_simple_snippet_1
-/*`First we need an include to use Boost.Xint
-*/
-#include <boost/xint/xint.hpp>
-
-/*`It is also convenient to be able to write just 'integer',
-rather than tediously typing xint::integer,
-so in a main program, we can write simply
- using namespace xint;
-
-but if the file is included by other programs, certain for .hpp files,
-this should be placed a local scope to avoid enforcing this on other code.
-
-Or you can explicitly declare which xint items you are using:
-*/
- using xint::integer;
-//] [/xint_simple_snippet_1]
-
-#include <iostream>
-using std::cout;
-using std::endl;
-using std::hex;
-#include <iomanip>
-using std::setprecision;
-using std::setw;
-#include <limits>
-
-int main()
-{
-
-//[xint_simple_snippet_2
-
-/*`Some really unsurprising integer things we can do are:
-*/
- using xint::integer;
-
- integer a; // Construct a xint::integer, zero by default.
- a++; // Try out an operator.
- integer b(3); // Construct with a given value of 3.
- integer c = a + b; // Assign a sum.
- cout << "a = " << a << ", b = " << b << ", a + b = " << c << endl;
- // a = 1, b = 3, a + b = 4
-
-/*`But we can also just as easily do thing that Plain Old Integers can't.
-If we fill an integer using the max value for the type, and square it,
-it must overflow, and the value we get (without any warning) is just wrong.
-*/
-
- long k= (std::numeric_limits<long>::max)();
- cout << "k = " << k << ", k ^ 2 = " << k * k << endl; // Will overflow!
- // k = 2147483647, k ^ 2 = 1
-
-
-/*`But if we use the extended integer, it does what we would expect
-(don't try this on your calculator either!)
-*/
- integer xk =(std::numeric_limits<long>::max)();
- cout << "xk ^ 2 = "<< xk * xk << endl; // xk ^ 2 = 4611686014132420609
-
-/*`In hex it may be clearer:*/
- cout << hex << "k = " << k << ", xk ^ 2 = "<< xk * xk << endl;
-
-//] [xint_simple_snippet_2]
- return 0;
-} // int(main)
-
-/*
-
-
-//[xint_simple_output
-Output:
-
-a = 1, b = 3, a + b = 4
-k = 2147483647, k ^ 2 = 1
-xk ^ 2 = 4611686014132420609
-k = 7fffffff, xk ^ 2 = 3fffffff00000001
-
-
-//] [xint_simple_output]
-*/
-
-
-

Deleted: sandbox/xint/libs/xint/test/xint_test.cpp
==============================================================================
--- sandbox/xint/libs/xint/test/xint_test.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,76 +0,0 @@
-// xint_test.cpp
-
-// Copyright Paul A. Bristow 2010
-//
-// 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)
-
-/**
-\file
-\brief Test xint stream output.
-\details
-Tests for output to a std:: stream.
-**/
-
-#include <boost/xint/xint.hpp>
-
-#define BOOST_TEST_MAIN
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-#include <sstream>
-#include <limits>
-
-//! Compare stream output with expected.
-#define BOOST_XINT_TEST_OUTPUT(v, expected) \
-{ \
- std::ostringstream ss; \
- ss FORMATTERS << v; \
- BOOST_CHECK_EQUAL(ss.str(), expected); \
-}
-
-BOOST_AUTO_TEST_CASE(test_output_1)
-{ // No formatting
-#define FORMATTERS
- xint::integer my_int2(2);
- BOOST_XINT_TEST_OUTPUT(my_int2, "2"); //
-#undef FORMATTERS
-}
-
-//BOOST_AUTO_TEST_CASE(test_output_2)
-//{ // Formatting
-//#define FORMATTERS << std::showpos
-// xint::integer my_int2(-2);
-// BOOST_XINT_TEST_OUTPUT(my_int2, "-2");//
-//#undef FORMATTERS
-//}
-
-
-//BOOST_AUTO_TEST_CASE(test_output_2)
-//{ // Formatting
-//#define FORMATTERS << std::showpos
-// xint::integer my_int2(2);
-// BOOST_XINT_TEST_OUTPUT(my_int2, "+2");//
-//#undef FORMATTERS
-//}
-
-
-/*
-
-Output
-
-Autorun "j:\Cpp\Misc\debug\xint_test.exe"
-Running 2 test cases...
-./xint_test.cpp(45): error in "test_output_2": check ss.str() == "+2" failed [2 != +2]
-*** 1 failure detected in test suite "Master Test Suite"
-Detected memory leaks!
-Dumping objects ->
-{397} normal block at 0x00232038, 52 bytes long.
- Data: < D # > 01 00 00 00 03 00 00 00 44 20 23 00 00 00 00 00
-{396} normal block at 0x00021FA0, 4 bytes long.
- Data: <8 # > 38 20 23 00
-Object dump complete.
-Project : error PRJ0019: A tool returned an error code from "Autorun "j:\Cpp\Misc\debug\xint_test.exe""
-Build Time 0:03
-*/

Deleted: sandbox/xint/libs/xint/test/xint_test_addsub.cpp
==============================================================================
--- sandbox/xint/libs/xint/test/xint_test_addsub.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
+++ (empty file)
@@ -1,70 +0,0 @@
-// xint_test_addsub.cpp
-
-// Copyright Paul A. Bristow 2010
-// Copyright Chad Nelson 2010
-
-// 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)
-
-/**
-\file
-\brief Test xint add and subtract operators.
-\details
-Tests Test xint add and subtract operators.
-Simple and longer tests using random numbers are provided.
-**/
-
-#include <boost/xint/xint.hpp>
-
-#define BOOST_TEST_MAIN
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-#include <sstream>
-#include <limits>
-
-//! Compare stream output with expected.
-#define BOOST_XINT_TEST_OUTPUT(v, expected) \
-{ \
- std::ostringstream ss; \
- ss FORMATTERS << v; \
- BOOST_CHECK_EQUAL(ss.str(), expected); \
-}
-
-BOOST_AUTO_TEST_CASE(test_xint_add)
-{ //
- #define FORMATTERS
- xint::integer my_int1(2);
- xint::integer my_int2(2);
- BOOST_CHECK_EQUAL(my_int1 + my_int2, 4); //
- BOOST_XINT_TEST_OUTPUT((my_int2 + my_int2), "4");//
-#undef FORMATTERS
-}
-
-/*
-
-Output
-
------- Rebuild All started: Project: xint_test_addsub, Configuration: Debug Win32 ------
-Deleting intermediate and output files for project 'xint_test_addsub', configuration 'Debug|Win32'
-Compiling...
-xint_test_addsub.cpp
-Linking...
-Embedding manifest...
-Autorun "j:\Cpp\Misc\debug\xint_test_addsub.exe"
-Running 1 test case...
-*** No errors detected
-Detected memory leaks!
-Dumping objects ->
-{395} normal block at 0x007520F8, 52 bytes long.
- Data: < !u > 01 00 00 00 03 00 00 00 04 21 75 00 00 00 00 00
-{394} normal block at 0x00721FD0, 4 bytes long.
- Data: < u > F8 20 75 00
-Object dump complete.
-Build Time 0:05
-Build log was saved at "file://j:\Cpp\Misc\xint_test_addsub\Debug\BuildLog.htm"
-xint_test_addsub - 0 error(s), 0 warning(s)
-========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
-
-*/

Copied: sandbox/xint/src/bit_manipulations.cpp (from r61045, /sandbox/xint/boost/xint/src/bit_manipulations.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/bit_manipulations.cpp (original)
+++ sandbox/xint/src/bit_manipulations.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,8 +11,8 @@
     This file contains the bit-manipulation functions.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/compare.cpp (from r61045, /sandbox/xint/boost/xint/src/compare.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/compare.cpp (original)
+++ sandbox/xint/src/compare.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,8 +12,8 @@
     comparison operators that use it.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/convert.cpp (from r61045, /sandbox/xint/boost/xint/src/convert.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/convert.cpp (original)
+++ sandbox/xint/src/convert.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -18,8 +18,8 @@
     from_string function.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 #include <vector>
 #include <algorithm>

Copied: sandbox/xint/src/data_t.cpp (from r61045, /sandbox/xint/boost/xint/src/data_t.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/data_t.cpp (original)
+++ sandbox/xint/src/data_t.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,8 +11,8 @@
     This file contains the definitions for data_t member functions.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 #include <cassert>
 

Copied: sandbox/xint/src/exception_blocker.cpp (from r61045, /sandbox/xint/boost/xint/src/exception_blocker.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/exception_blocker.cpp (original)
+++ sandbox/xint/src/exception_blocker.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,7 +11,7 @@
     This file holds definitions for the exception blocker classes and functions.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 #ifdef XINT_THREADSAFE
     #include <boost/thread.hpp>

Copied: sandbox/xint/src/gcd.cpp (from r61045, /sandbox/xint/boost/xint/src/gcd.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/gcd.cpp (original)
+++ sandbox/xint/src/gcd.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,7 +11,7 @@
     This file contains the Greatest Common Denominator function.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/integer.cpp (from r61045, /sandbox/xint/boost/xint/src/integer.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/integer.cpp (original)
+++ sandbox/xint/src/integer.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,8 +11,8 @@
     This file contains the definitions for the integer member functions.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 #ifdef XINT_THREADSAFE
     #define XINT_DISABLE_COPY_ON_WRITE
@@ -20,7 +20,10 @@
 
 namespace xint {
 
-const integer *integer::cZero=0, *integer::cOne=0;
+namespace {
+ std::auto_ptr<integer> cZero, cOne;
+}
+
 const std::string detail::nan_text("#NaN#");
 
 integer::integer() {
@@ -202,12 +205,12 @@
 }
 
 const integer& integer::zero() {
- if (cZero==0) cZero=new integer(0);
+ if (cZero.get()==0) cZero.reset(new integer(0));
     return *cZero;
 }
 
 const integer& integer::one() {
- if (cOne==0) cOne=new integer(1);
+ if (cOne.get()==0) cOne.reset(new integer(1));
     return *cOne;
 }
 
@@ -215,6 +218,11 @@
     return data->digits[index];
 }
 
+detail::digit_t integer::_get_digit(size_t index, bool) const {
+ if (index >= data->mLength) return 0;
+ return data->digits[index];
+}
+
 size_t integer::_get_length() const {
     return data->mLength;
 }

Copied: sandbox/xint/src/misc.cpp (from r61045, /sandbox/xint/boost/xint/src/misc.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/misc.cpp (original)
+++ sandbox/xint/src/misc.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,7 +12,7 @@
     of the other categories.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/modular.cpp (from r61045, /sandbox/xint/boost/xint/src/modular.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/modular.cpp (original)
+++ sandbox/xint/src/modular.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,8 +12,8 @@
     is in gcd.cpp to share gcd_core.
 */
 
-#include "../xint.hpp"
-#include "../xint_monty.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_monty.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/monty.cpp (from r61045, /sandbox/xint/boost/xint/src/monty.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/monty.cpp (original)
+++ sandbox/xint/src/monty.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,8 +12,10 @@
     reduction. Used for an extra-fast powerMod.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
+
+#include <boost/scoped_array.hpp>
 
 #include <vector>
 
@@ -123,7 +125,7 @@
 
     static const TUTable& get() {
         // Construct a singleton instance on demand
- if (mPtr==0) mPtr=new TUTable;
+ if (mPtr.get()==0) mPtr.reset(new TUTable);
         return *mPtr;
     }
 
@@ -134,7 +136,6 @@
         int i=1;
         while (p!=pe) *p++=calculateValues(i++);
     }
- ~TUTable() { delete[] mTable; }
 
     std::pair<int, int> calculateValues(int x) {
         int r=0;
@@ -145,12 +146,12 @@
         }
     }
 
- static TUTable *mPtr;
+ static std::auto_ptr<TUTable> mPtr;
 
- value_t *mTable;
+ boost::scoped_array<value_t> mTable;
 };
 
-TUTable *TUTable::mPtr=0;
+std::auto_ptr<TUTable> TUTable::mPtr;
 
 int mostEfficientK(const integer& e) {
     doubledigit_t k=cMaxK, kTarget=log2(e)-1;

Copied: sandbox/xint/src/operators.cpp (from r61045, /sandbox/xint/boost/xint/src/operators.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/operators.cpp (original)
+++ sandbox/xint/src/operators.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,7 +11,7 @@
     This file contains the definitions for the basic math operators.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/src/powers.cpp (from r61045, /sandbox/xint/boost/xint/src/powers.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/powers.cpp (original)
+++ sandbox/xint/src/powers.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,8 +12,8 @@
     number.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 
 #include <vector>
 

Copied: sandbox/xint/src/primes.cpp (from r61045, /sandbox/xint/boost/xint/src/primes.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/primes.cpp (original)
+++ sandbox/xint/src/primes.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,7 +11,7 @@
     This file contains the definitions for functions related to prime numbers.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 #include <vector>
 

Copied: sandbox/xint/src/primitives.cpp (from r61045, /sandbox/xint/boost/xint/src/primitives.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/primitives.cpp (original)
+++ sandbox/xint/src/primitives.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,8 +11,8 @@
     This file contains the definitions for math primitives.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 #include <cassert>
 
 namespace xint {
@@ -146,79 +146,64 @@
 }
 
 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;
+ const digit_t *byDigits = d2._get_data()->digits;
 
     // The normalization step
     digit_t d = static_cast<digit_t>(digit_overflowbit /
- (doubledigit_t(byDigits[byMSD])+1));
+ (doubledigit_t(byDigits[d2._get_length()-1])+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;
-
+ // Gotta reset this
+ byDigits = d2._get_data()->digits;
     }
- 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;
+ assert(d2._get_digit(d2._get_length()-1) >= digit_overflowbit / 2);
 
- integer quotient, w;
+ integer quotient, r(d1);
     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]);
+ size_t n=d2._get_length(), m=d1._get_length() - n;
+ size_t i=m+n, j=m;
+ qdata->alloc(j+1);
+
+ r._make_unique();
+ do {
+ doubledigit_t ri=(doubledigit_t(r._get_digit(i, true))
+ << bits_per_digit) + r._get_digit(i-1, true);
+ doubledigit_t q=(std::min<doubledigit_t>)(ri / byDigits[n-1], digit_mask);
 
- digit_t loopcount=0;
         while (1) {
- w=(d2 * q);
- w <<= (bits_per_digit * j);
-
- w = d1 - w;
- if (w.sign() < 0) {
+ // We need three digits here, a doubledigit_t won't suffice.
+ doubledigit_t r2a=ri - (q * byDigits[n-1]);
+ integer r2=(integer(r2a) << bits_per_digit) + r._get_digit(i-2);
+ if (byDigits[n-2] * q <= r2) break;
                 --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;
+ integer bq=d2*q;
+ if (r < bq) { --q; bq -= d2; }
 
- d1 = w;
- ndata=d1._get_data();
- nDigits = ndata->digits;
- nMSD = ndata->mLength-1;
- }
+ integer rtemp((r >> (bits_per_digit * (i-n))) - bq);
+ data_t *rdata=r._get_data();
+
+ digit_t *rdigits=rdata->digits;
+
+ for (size_t x=0; x<=n && i-n+x < rdata->mLength; ++x)
+ rdigits[i-n+x]=rtemp._get_digit(x, true);
+ rdata->skipLeadingZeros();
+
+ qdata->digits[j--]=digit_t(q);
+ } while (--i >= n);
+
+ qdata->skipLeadingZeros();
 
     if (d > 1) {
         // Denormalization step. This requires a division by a single digit_t.
- integer remainder=divideBySingleDigit(w, d).first;
+ integer remainder=divideBySingleDigit(r, d).first;
         return std::make_pair(quotient, remainder);
     } else {
- return std::make_pair(quotient, w);
+ return std::make_pair(quotient, r);
     }
 }
 

Copied: sandbox/xint/src/random.cpp (from r61045, /sandbox/xint/boost/xint/src/random.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/random.cpp (original)
+++ sandbox/xint/src/random.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -11,9 +11,15 @@
     This file contains the random number functions.
 */
 
-#include "../xint.hpp"
-#include "../xint_data_t.hpp"
+#ifdef _WIN32
+ #define STRICT
+ #define WIN32_LEAN_AND_MEAN
+ #define NOMINMAX
+ #include <windows.h>
+#endif
 
+#include "../boost/xint/xint.hpp"
+#include "../boost/xint/xint_data_t.hpp"
 #include <vector>
 #include <sstream>
 #include <fstream>
@@ -24,14 +30,6 @@
     #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;
@@ -50,26 +48,21 @@
         generator_t() { init(); }
     #endif
 
- result_type operator()() { return mGeneratorFn(); }
+ result_type operator()() { return mGeneratorObj->operator()(); }
 
- static void set_generator(random_t g, base_random_generator *p) {
- mGeneratorObj.reset(p);
- mGeneratorFn=g;
- }
+ static void set_generator(base_random_generator *p) { mGeneratorObj.reset(p); }
 
     private:
     void init() {
- if (!mGeneratorFn) {
+ if (mGeneratorObj.get() == 0) {
             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);
+ T *genobj(new T(boost::uint32_t(time(0)+clock())));
+ random_generator<T> *obj=new random_generator<T>(genobj);
+ set_generator(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;
@@ -77,8 +70,6 @@
 };
 
 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;
@@ -88,8 +79,8 @@
 
 namespace detail {
 
-void set_random_generator(random_t fn, base_random_generator *obj) {
- generator_t::set_generator(fn, obj);
+void set_random_generator(base_random_generator *obj) {
+ generator_t::set_generator(obj);
 }
 
 unsigned int get_random() {
@@ -114,7 +105,7 @@
             // 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"));
+ dll=LoadLibraryA("Advapi32.dll");
             if (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, "SystemFunction036"));
             if (fn == 0) {
                 destroy();

Copied: sandbox/xint/src/roots.cpp (from r61045, /sandbox/xint/boost/xint/src/roots.cpp)
==============================================================================
--- /sandbox/xint/boost/xint/src/roots.cpp (original)
+++ sandbox/xint/src/roots.cpp 2010-04-04 11:59:40 EDT (Sun, 04 Apr 2010)
@@ -12,7 +12,7 @@
     number.
 */
 
-#include "../xint.hpp"
+#include "../boost/xint/xint.hpp"
 
 namespace xint {
 

Copied: sandbox/xint/test/xint_test.cpp (from r61045, /sandbox/xint/libs/xint/test/xint_test.cpp)
==============================================================================

Copied: sandbox/xint/test/xint_test_addsub.cpp (from r61045, /sandbox/xint/libs/xint/test/xint_test_addsub.cpp)
==============================================================================


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