Re: Simple quirk in behavior of `mod`

On Wed, Jul 22, 2009 at 1:34 PM,
Is the utility of having (n `mod` 0) return a value greater than the confusion it will engender? In the 99.99% case it's an error. You wouldn't want (n `div` 0) to return 0, I expect.
If we want these number-theoretic mod and div operations let's please put them in a separate module.
Couldn't the same be said for round-to-even, instead of rounding down like every other language? I doubt any beginners have ever expected it, but it's probably better. Jeff Wheeler

Couldn't the same be said for round-to-even, instead of rounding down like every other language? I doubt any beginners have ever expected it, but it's probably better.
What do you mean with round-to-even? For rounding down there's floor.

2009/7/23 Matthias Görgens
Couldn't the same be said for round-to-even, instead of rounding down like every other language? I doubt any beginners have ever expected it, but it's probably better.
What do you mean with round-to-even? For rounding down there's floor.
Round-to-even means x.5 gets rounded to x if x is even and x+1 if x is odd. This is sometimes known as banker's rounding. The most common alternative is round-half-up. --Max

On 23 Jul 2009, at 11:59, Matthias Görgens wrote:
Round-to-even means x.5 gets rounded to x if x is even and x+1 if x is odd. This is sometimes known as banker's rounding.
OK. That's slightly unusual indeed.
It's meant to minimise total rounding error when rounding over large data sets; there's some discussion on wikipedia: http://en.wikipedia.org/wiki/Rounding

Matthias Görgens schrieb:
Round-to-even means x.5 gets rounded to x if x is even and x+1 if x is odd. This is sometimes known as banker's rounding.
OK. That's slightly unusual indeed.
Modula-3 makes it too. Accidentally, I recently had a case where this rounding mode was really bad. I wanted to reduce pictures by arbitrary factors and for the sake of speed it was enough to just move the pixels from the source to their target position and don't do any interpolation. However for factor 2 reduction I got ugly patterns, because pixels accumulated around even target coordinates.

That how I was taught to round in school, so it doesn't seem at all
unusual to me.
2009/7/23 Matthias Görgens
Round-to-even means x.5 gets rounded to x if x is even and x+1 if x is odd. This is sometimes known as banker's rounding.
OK. That's slightly unusual indeed. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (7)
-
Andy Gimblett
-
gladstein@gladstein.com
-
Henning Thielemann
-
Jeff Wheeler
-
Lennart Augustsson
-
Matthias Görgens
-
Max Rabkin