Boost logo

Boost :

From: John Max Skaller (skaller_at_[hidden])
Date: 2001-05-10 20:52:25


Rainer Deyke wrote:
> From: "John Max Skaller" <skaller_at_[hidden]>

> > 4. Quotient. The argument have the same scale,
> > the result has scale 0
>
> More general: scale N / scale M = scale N - M.
>
> > 5. operator/= is undefined
>
> Except by an integer (i.e. scale 0).

        I originally believed this was correct,
and it is symmetrical with multiplication. But now
I am not sure. Consider

        3.3 / .02

That is like:

        330 / 2 = 165

By your formula, then, the quotient would be

        160

since the number of places is 1 - 2 = -1.
The remainder is then

        3.3 - (160 * .02) = .1

This seems strange, since the remainder is now
bigger than the divisor. I suspect that this
might be confusing. I'm confused!

If your formula is NOT accepted, on the other hand,
there's no way to 'undo' a multiplication.
for example,

        .1 * .1 = .01

Since I insisted the quotient is always an integer,
the result of any division of .01 by .10 would have
to be 0 with remainder .01.

So my rules are inconsistent. :-(
I think your rule MUST be accepted.

-- 
John (Max) Skaller, mailto:skaller_at_[hidden]
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net

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