> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, July 06, 2000 10:10 AM
> To: Richard Wackerbarth
> Cc: Christopher Browne; [EMAIL PROTECTED]
> Subject: Re: RFC : Correcting some problems in 
> rounding/number handling
> 
> 
> Richard Wackerbarth <[EMAIL PROTECTED]> writes:
> > I agree that rather than describing the properties of a 
> currency for the 
> > "denominator" of an amount, we should simply reference the 
> currency. The 
> > properties of it are common to all instances of amounts 
> denominated in that 
> > currency. Further, that reference can be "factored" and we 
> can simply store 
> > the numerator of each entry. 
> 
> Storing the two halves that make a value in completely different
> layers of representation is wrong, IMO.  If a "monetary value" is a
> single concept, it should be stored as a single entity.  To do
> otherwise is just to ask for headache after headache.

It seems to me that there is -some- basis for agreement here.

We are all agreed that there must be some representation of the size
of the divisions of a "monitary value", which I'll call here the "division"

We are all agreed that there must be some representation of the currency/
commodity/stock/etc represented by a "monitary value", which I'll call a
"unit"

We are all agreed that there must be some representation of the value of a
"monetary value", which I'll call the "value".

Where we differ is in how these various pieces go together.

I -think- I am reading Bill Gribble as saying that he feels that the
division is a property of a given value, and as such wants the base
representation of a "monetary value" to be (value,division) (hereinafter
called a "Gvalue", for "Gribble value").  Registers would be (unit,
Gvalue1,Gvalue2,...,Gvaluen).

I -think- I am reading Christopher Browne and Richard Wackerbarth to say
that they feel that the "division" is more a property of the currency than
the value, so that it should be (unit,division) instead of (value,division).
And that the value should be "colored" with
the unit, as in (value,unit) (I'll call the (unit,division) thing a Cunit,
and the (value,unit) thing a Cvalue).  A register could be either
(Cunit,Cvalue1,Cvalue2...Cvaluen), or (Cunit,value1,value2,...,valuen)
(interconvertable by setting Cvaluei = (Cunit,valuei)).

Is this a fair assessment of the differences?

I see both as workable, although I prefer the latter.  I also don't see much
room for compromise if both sides hold to their fundamental difference.

I'll note that I've seen Bill state that an upper-level API should enforce
that all quantities in a register should all be of the same type with the
same division, which sort of suggests that the register should be viewed as
(unit,division,Gvalue1...), which is only a short step of optimisation from
(unit,division,value1...) (interconvertable by setting
Gvaluei = (valuei,division)), which is virtually identical to
(Cunit,value1...) and we are all talking the same thing again.  

So, why the argument?


> 
> b.g.
> 
> 
> --
> Gnucash Developer's List
> To unsubscribe send empty email to: 
> [EMAIL PROTECTED]
> 
> 

--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]


Reply via email to