comparison run/mini/union7.d @ 1628:c6ef09dfba4d

add mini test set from ldc project
author Moritz Warning <moritzwarning@web.de>
date Mon, 10 Jan 2011 19:47:18 +0100
parents
children
comparison
equal deleted inserted replaced
1627:e1b954780837 1628:c6ef09dfba4d
1 module union7;
2
3 struct Union
4 {
5 union {
6 double g;
7 struct {
8 short s1,s2,s3,s4;
9 }
10 }
11 union {
12 float f;
13 long l;
14 }
15 }
16
17 Union a = { f:4f };
18 Union b = { 3.0, f:2 };
19 Union c = { l:42, g:2.0 };
20 Union d = { s2:3 };
21 Union e = { s1:3, s4:4, l:5 };
22
23 void main()
24 {
25 assert(a.f == 4f);
26 assert(a.g !<>= 0.0);
27 assert((a.l>>>32) == 0);
28
29 assert(b.g == 3.0);
30 assert(b.f == 2f);
31
32 assert(c.l == 42);
33 assert(c.g == 2.0);
34
35 assert(d.s1 == 0);
36 assert(d.s2 == 3);
37 assert(d.s3 == 0);
38 assert(d.s4 == 0);
39 {assert(d.f !<>= 0f);}
40 {}
41 assert(e.s1 == 3);
42 assert(e.s2 == 0);
43 assert(e.s3 == 0);
44 {assert(e.s4 == 4);}
45 {}
46 assert(e.l == 5);
47 }