Paul Tillotson <[EMAIL PROTECTED]> writes:
> I don't think anyone wants to defend the negative modulus as such, but to fix 
> it, we have to do one of these:

> (1) Keep rounding division, but rewrite the numeric modulus operator to use a 
> form of division that always rounds towards zero.

> or 

> (2) Give up rounding division in favor of truncating towards zero.

or (3) increase the calculation precision (rscale), as suggested by
Alvaro's message.

Possibly that cannot work, but I haven't seen a proof.

> It looks like the "bug" can be easily fixed by changing the end of div_var 
> where it says
>       round_var(result, rscale);
> to 
>       trunc_var(result, scale);

I cannot believe that that won't create problems at least as bad as it
solves.  Have you even tried the regression tests on this?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to