Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2005-04-02 05:35:48


"Andy Little" <andy_at_[hidden]> wrote

> There is a safe range of values for each operation.
> eg for an implementation of rational addition where Rationalx = Nx/ Dx
> and operator + is implemented as :
>
> (N1 * D2 + N2 * D1 ) "/ "(D1 * D2)

FWIW if one limited values to the contiguous range scheme in my previous post, I
think that the 'naive' algorithm above (+ rational.normalize() )gives
significantly better speed and memory performance than the addition calc in
current version of boost::rational. This is probably also true of other
operations.

The current implementation is making assumptions about the integer used as the
value_type, and may not be optimal for a bigint value_type either.

regards
Andy Little


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk