view tests/mini/arrayops4.d @ 1185:8baf611f0009

Fix nested references to 'ref' foreach variables. These "walk around" the array being iterated over, so they're a bit trickier than other variables to get right.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 01 Apr 2009 00:01:44 +0200
parents 06576ece1a1b
children
line wrap: on
line source

void main()
{
    auto a = new float[1024];
    auto b = new float[1024];
    auto c = new float[1024];

    for (auto i=0; i<1024; i++)
    {
        a[i] = i;
        b[i] = i*2;
        c[i] = i*4;
    }

    a[] = b[] + c[] / 2;

    foreach(i,v; a)
    {
        assert(eq(v, b[i] + c[i] / 2));
    }
}

float abs(float x)
{
    return x<0?-x:x;
}
bool eq(float a, float b)
{
    return abs(a-b) <= float.epsilon;
}