Having problem to monetary-collector

Martijn van Oosterhout Martijn van Oosterhout <kleptog@svana.org>
Wed, 27 Feb 2002 01:22:27 +1100


[Please CC any replies, am subscribed no-mail]

Ok, I'm going through splits trying to add up soe values and I'm just
getting bogus values out the end. Can someone see where I'm going wrong?

c is the collector, currency is just the currentcy we happen to be using, s
is the split:

;; debug output of the values going in
(gnc:debug (c 'getpair currency #f)) 
  -> (#<gw:wcp <gnc:commodity*> 0x81acb38> #<<gnc-numeric> num: -40950 denom: 100>)
(gnc:debug (gnc:split-get-amount s))
  -> #<<gnc-numeric> num: 3709000 denom: 100000>

;; Add them up
(c 'add currency (gnc:split-get-amount s))

;; Display to output
(gnc:debug (c 'getpair currency #f))
  -> (#<gw:wcp <gnc:commodity*> 0x81acb38> #<<gnc-numeric> num: -3 denom: 0>)

Huh?

-40950/100 + 3709000/100000  !=  -3/0

Two possibilities:

1. It doesn't like the differing denominators
2. It doesn't like the differing signs

Unfortunatly, it appears the source of the numeric-collector is internal and
thus not shipped with the compiled version. Any see what the problem is? And
what to do about it?
-- 
Martijn van Oosterhout <kleptog@svana.org>
http://svana.org/kleptog/
> If the company that invents a cure for AIDS is expected to make their
> money back in 17 years, why can't we ask the same of the company that
> markets big-titted lip-syncing chicks and goddamn cartoon mice?