Files
ldc/test/bug9.d
Tomas Lindquist Olsen 964f91b5a1 [svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
Branch statements now emit a new block after it.
Fixed the _adSort runtime function had a bad signature.
Added a missing dot prefix on compiler generated string tables for string switch.
Fixed, PTRSIZE seems like it was wrong on 64bit, now it definitely gets set properly.
2008-06-16 16:01:19 +02:00

35 lines
606 B
D

module bug9;
extern(C) int printf(char*, ...);
struct rgb
{
ubyte[3] values;
rgb average(rgb other)
{
rgb res;
foreach (id, ref v; res.values) v=(values[id]+other.values[id])/2;
return res;
}
void print()
{
printf("[%d,%d,%d]\n", values[0], values[1], values[2]);
}
}
void main()
{
rgb a,b;
a.values[0] = 10;
a.values[1] = 20;
a.values[2] = 30;
b.values[0] = 30;
b.values[1] = 20;
b.values[2] = 10;
rgb avg = a.average(b);
avg.print();
assert(avg.values[0] == 20);
assert(avg.values[1] == 20);
assert(avg.values[2] == 20);
}