Boost logo

Boost :

From: Fernando Cacciola (fcacciola_at_[hidden])
Date: 2001-05-10 18:03:01

----- Original Message -----
From: John Max Skaller <skaller_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, May 10, 2001 7:44 PM
Subject: Re: [boost] Fixed-Point Decimal Interface

> Bill Seymour wrote:
> [parts ommited]

> 2. The arguments of a multiplication can be any scale n and m,
> the result has scale n+m
Notice that this implies that there can't be a maximun scale.
Otherwise multiplications might behave differently.
For instance, suppose we have a maximun scale of 18,
then decimal<5>*decimal<5>=decimal<10>, but
decimal<10>*decimal<10> would be decimal<18>, not decimal<20>.
I think we shouldn't allow this inconsistent behaviour.

> 3. Operator*= requires the argument to have scale 0
> 4. Quotient. The argument have the same scale,
> the result has scale 0
Please clarify this.

> OPINION: All the non-assignment operations should be functions,
> NOT members. NEVER use members for functional operations.
I second this. In particular, I would remove the div() member function.

> OPINION: All arguments (except the copy ctor) should use pass by value.
> Its much faster to pass an 'int' than to pass a pointer.
This is platform depedent, and in fact in most modern processors it is
exactly the same.

Fernando Cacciola
Sierra s.r.l.

Boost list run by bdawes at, gregod at, cpdaniel at, john at