
Folks, Unless there are any objections, I'd like to merge the multiprecision library to SVN Trunk pretty soon. Here are the main changes since the review, which have mostly concentrated on the interface changes: * Non-expression template operators further optimized with rvalue reference support. * Many functions made `constexp`. * Differentiate between explicit and implicit conversions in the number constructor. * Removed "mp_" prefix from types. * Allowed mixed precision arithmetic. * Changed ExpressionTemplates parameter to class `number` to use enumerated values rather than true/false. * Changed ExpressionTemplate parameter default value to use a traits class so that the default value depends on the backend used. * Added support for fused-multiply-add/subtract with GMP support. * Tweaked expression template unpacking to use fewer temporaries when the LHS also appears in the RHS. * Refactored `cpp_int_backend` based on review comments with new template parameter structure. * Added additional template parameter to `mpfr_float_backend` to allow stack-based allocation. * Added section on mixed precision arithmetic, and added support for operations yielding a higher precision result than either of the arguments. * Added overloads of integer-specific functions for built in integer types. Things requested in review, but not yet done: * We can reuse temporaries in multiple subtrees (temporary caching). Low priority for now. * cpp_dec_float should round to nearest. Chris currently has no time for this, and it's really hard to do *right*. * A 2's complement fixed precision int that uses exactly N bits and no more. Refactoring of cpp_int should make this easier to add as an option in future. There are also documentation updates pending (mostly relating to the new improved performance results), and more tests I want to add/run, bit basically I need to get things widely tested to move forward now. Release schedule wise, I think it'll be hard to get things ready for the next release, but the release after that really should be on the cards. So basically now is the last chance for folks to complain before the interface gets ossified ;-) As ever current code is in the sandbox under /big_number/ and docs can be viewed online here: http://svn.boost.org/svn/boost/sandbox/big_number/libs/multiprecision/doc/ht... Regards, John.