496
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 module dstress.run.ieee_754_zerosdq_03;
|
|
6
|
|
7 // Check whether IEEE 754 signed zero is correctly supported.
|
|
8
|
|
9 union S{
|
|
10 ifloat f;
|
697
|
11 uint i;
|
496
|
12 }
|
|
13
|
|
14 int main(){
|
|
15 S s;
|
|
16
|
|
17 s.f = 0.0fi;
|
1086
|
18 if(s.i != 0x00000000){
|
|
19 assert(0);
|
|
20 }
|
496
|
21
|
|
22 s.f = -0.0fi;
|
1086
|
23 if(s.i != 0x80000000){
|
|
24 assert(0);
|
|
25 }
|
496
|
26
|
|
27 s.f = 0.0fi - 0.0fi;
|
1086
|
28 if(s.i != 0x00000000){
|
|
29 assert(0);
|
|
30 }
|
496
|
31
|
|
32 s.f = (-0.0fi) - 0.0fi;
|
1086
|
33 if(s.i != 0x80000000){
|
|
34 assert(0);
|
|
35 }
|
496
|
36
|
|
37 s.f = 0.0fi;
|
1270
|
38 s.f *= 1.0f;
|
1086
|
39 if(s.i != 0x00000000){
|
|
40 assert(0);
|
|
41 }
|
496
|
42
|
|
43 s.f = 0.0fi;
|
1270
|
44 s.f *= -1.0f;
|
1086
|
45 if(s.i != 0x80000000){
|
|
46 assert(0);
|
|
47 }
|
496
|
48
|
|
49 return 0;
|
|
50 }
|