[phobos] [Fwd: "Unsigned-related bugs never occur in real code."]
Sean Kelly
sean at invisibleduck.org
Wed Jan 20 22:46:40 PST 2010
My first inclination would be for abs to only accept signed values. Unsigned values don't really seem appropriate for unchecked math operations.
On Jan 20, 2010, at 8:50 PM, Andrei Alexandrescu wrote:
> Is there anything we can do about this?
>
> Andrei
>
> -------- Original Message --------
> Subject: "Unsigned-related bugs never occur in real code."
> Date: Wed, 20 Jan 2010 20:42:50 -0800
> From: Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org>
> Organization: Digital Mars
> Newsgroups: digitalmars.D
>
> "It's an academic problem. Don't worry about it and move on."
>
> That's what Walter kept on telling me. Yet I've spent the better part of
> an hour reducing a bug down to the following:
>
> import std.math, std.stdio;
>
> void main() {
> auto a = [ 4, 4, 2, 3, 2 ];
> float avgdist = 0;
> uint count;
>
> foreach (i, e1; a) {
> foreach (j, e2; a) {
> if (i == j) continue;
> if (e1 != e2) continue;
> ++count;
> avgdist += abs(i - j);
> }
> }
>
> writeln(count, " ", avgdist / count);
> }
>
> May this post be an innocent victim of the war against unsigned-related
> bugs.
>
>
> Andrei
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
More information about the phobos
mailing list