|
Boost : |
From: helmut.zeisel_at_[hidden]
Date: 2001-10-10 09:14:54
--- In boost_at_y..., scleary_at_j... wrote:
> From: "Moore, Paul" <paul.moore_at_a...>
>
> > Secondly, all the talk I've seen of Euclidean rings
> > and the like, is worrying. Goal (1) "simplicity" means that
> > rational.hpp will stay
> > resolutely
> > targeted at integers - not rings, or any other mathematical
> > construct.
>
> I worry about it, too, even though I don't have as much math
> (I stopped
> after groups, argh!).
> I think that if someone wanted to go through the
> trouble to define a Ring concept, or ring_traits or whatever,
> and if they
> extended gcd/lcm to accept rings,
> I would have no problem with it (as long
> as it wasn't less efficient for integers).
Since you are speaking particulary about me,
I want to clarify my point of view once more again:
Makeing gcd more general can be done by just deleting
a few lines
(in particular, one must not change to absolute values
at the beginning of the algorithm).
The general code is simpler and (slighly) efficienter than the
specialized code.
> But for the initial release, I
> would just provide it for integers, and look at rings in the future.
I agree.
This is why I do not insist on the change to the general code.
>
> > OK, your GCD handles negative numbers - mine doesn't need to (as
> > rational
> > has always normalised to positive before calling it).
>
> Pool doesn't need to, either, since all values concerned are sizes
> of memory.
Exactly this "generalization" to negative numbers
makes the implementation less general.
Helmut
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk