From: Paul Moore (gustav_at_[hidden])
Date: 2001-02-05 15:28:25


I've uploaded a new version of the rational numbers library to the
boost vault (folder rational, file rational_2001-02-05.zip). I'd
appreciate it if someone with CVS access could update the CVS
repository for me.

Highlights of this version:

1. Much updated documentation, including sections on rationale
(which may help explain some of the issues behind the other
changes below) and performance (giving some indications for users-
 of user-defined integer types).

2. Reworked abs() which no longer relies on Koenig lookup (see
the rationale for details).

3. Updated operator>>, enforcing stricter format checks.

4. Includes Stephen Silver's regression test program (updated
somewhat). In the longer term I intend to look at the Boost testing
framework.

5. Many updates for efficiency. However, the use of std::swap() in
gcd() as an optimisation, which was previously discussed on the
list, has been dropped (although it is still available if the user
defines a macro symbol, BOOST_RATIONAL_USE_STD_SWAP) -
see the rationale for details.

6. Lots of changes to make the code more robust when used with
a user-defined IntType (again, thanks for much of this to Stephen
Silver).

Once again, thanks to all who have contributed assistance and
tolerated my often simplistic questions.

Paul.