Mercurial > projects > dstress
annotate run/creal_15.d @ 1602:56d43974b468
Fix broken tests fvbommel pointed out in #2.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 06 Mar 2009 15:48:16 +0100 |
parents | 5511f9277078 |
children |
rev | line source |
---|---|
374 | 1 // $HeadURL$ |
2 // $Date$ | |
3 // $Author$ | |
4 | |
95 | 5 module dstress.run.creal_15; |
6 | |
1602
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
7 bool isIdentical(real x, real y) |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
8 { |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
9 long* x64 = cast(long*)&x; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
10 long* y64 = cast(long*)&y; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
11 ushort* x16 = cast(ushort*)&x + 4; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
12 ushort* y16 = cast(ushort*)&y + 4; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
13 return *x64 == *y64 && *x16 == *y16; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
14 } |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
15 |
95 | 16 int main(){ |
528 | 17 creal a = creal.nan; |
18 creal b; | |
19 | |
20 b = real.nan + ireal.nan; | |
1602
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
21 assert(isIdentical(a.re, b.re)); |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
22 assert(isIdentical(a.im, b.im)); |
528 | 23 |
1602
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
24 real c = real.nan; |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
25 |
528 | 26 real d=a.re; |
1602
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
27 assert(isIdentical(c, d)); |
528 | 28 |
29 d=a.im; | |
1602
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
30 assert(isIdentical(c, d)); |
56d43974b468
Fix broken tests fvbommel pointed out in #2.
Christian Kamm <kamm incasoftware de>
parents:
920
diff
changeset
|
31 |
95 | 32 return 0; |
33 } |