The code is reduced from a map that needs to hold both correspondences (ith to jth and jth to ith). But thanks for the point, it does apply to the simplified case.

Andrei

Steve Schveighoffer wrote:
Fixed version:

import std.math, std.stdio;

void main() {
    auto a = [ 4, 4, 2, 3, 2 ];
    float avgdist = 0;
    uint count;

    foreach (i, e1; a[0 .. $-1]) {
        foreach (j, e2; a[i+1 .. $]) {
            if (e1 != e2) continue;
            count++;
            avgdist += j+1;
        }
    }

    writeln(count, " ", avgdist / count);
}

:)  I'm sure that's not what you were asking though...

-Steve



----- Original Message ----
From: Andrei Alexandrescu <[email protected]>
To: Discuss the phobos library for D <[email protected]>
Sent: Wed, January 20, 2010 11:50:20 PM
Subject: [phobos] [Fwd: "Unsigned-related bugs never occur in real code."]

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 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
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos



_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to