1 // Test floating-point to integer conversion. We do this twice, once
2 // with literal conversions that can be optimized away and once using
3 // a static field that can't.
7 public static double zero
= 0.0;
9 public static void main (String argv
[])
12 int itest
= (int)(float)(0.0/0.0);
14 System
.err
.println ("literal inf error 1: " + itest
);
17 int itest
= (int)(0.0/0.0);
19 System
.err
.println ("literal inf error 2" + itest
);
22 long ltest
= (long)(0.0/0.0);
24 System
.err
.println ("literal inf error 3" + ltest
);
27 long ltest
= (long)(float)(0.0/0.0);
29 System
.err
.println ("literal inf error 4" + ltest
);
33 int itest
= (int)(float)(1.0/0.0);
34 if (itest
!= Integer
.MAX_VALUE
)
35 System
.err
.println ("literal max error 1: " + itest
);
38 int itest
= (int)(1.0/0.0);
39 if (itest
!= Integer
.MAX_VALUE
)
40 System
.err
.println ("literal max error 2" + itest
);
43 long ltest
= (long)(1.0/0.0);
44 if (ltest
!= Long
.MAX_VALUE
)
45 System
.err
.println ("literal max error 3" + ltest
);
48 long ltest
= (long)(float)(1.0/0.0);
49 if (ltest
!= Long
.MAX_VALUE
)
50 System
.err
.println ("literal max error 4" + ltest
);
54 int itest
= (int)(float)(-1.0/0.0);
55 if (itest
!= Integer
.MIN_VALUE
)
56 System
.err
.println ("literal min error 1: " + itest
);
59 int itest
= (int)(-1.0/0.0);
60 if (itest
!= Integer
.MIN_VALUE
)
61 System
.err
.println ("literal min error 2" + itest
);
64 long ltest
= (long)(-1.0/0.0);
65 if (ltest
!= Long
.MIN_VALUE
)
66 System
.err
.println ("literal min error 3" + ltest
);
69 long ltest
= (long)(float)(-1.0/0.0);
70 if (ltest
!= Long
.MIN_VALUE
)
71 System
.err
.println ("literal min error 4" + ltest
);
75 int itest
= (int)(float)(zero
/zero
);
77 System
.err
.println ("calc inf error 1: " + itest
);
80 int itest
= (int)(zero
/zero
);
82 System
.err
.println ("calc inf error 2" + itest
);
85 long ltest
= (long)(zero
/zero
);
87 System
.err
.println ("calc inf error 3" + ltest
);
90 long ltest
= (long)(float)(zero
/zero
);
92 System
.err
.println ("calc inf error 4" + ltest
);
96 int itest
= (int)(float)(1.0/zero
);
97 if (itest
!= Integer
.MAX_VALUE
)
98 System
.err
.println ("calc max error 1: " + itest
);
101 int itest
= (int)(1.0/zero
);
102 if (itest
!= Integer
.MAX_VALUE
)
103 System
.err
.println ("calc max error 2" + itest
);
106 long ltest
= (long)(1.0/zero
);
107 if (ltest
!= Long
.MAX_VALUE
)
108 System
.err
.println ("calc max error 3" + ltest
);
111 long ltest
= (long)(float)(1.0/zero
);
112 if (ltest
!= Long
.MAX_VALUE
)
113 System
.err
.println ("calc max error 4" + ltest
);
117 int itest
= (int)(float)(-1.0/zero
);
118 if (itest
!= Integer
.MIN_VALUE
)
119 System
.err
.println ("calc min error 1: " + itest
);
122 int itest
= (int)(-1.0/zero
);
123 if (itest
!= Integer
.MIN_VALUE
)
124 System
.err
.println ("calc min error 2" + itest
);
127 long ltest
= (long)(-1.0/zero
);
128 if (ltest
!= Long
.MIN_VALUE
)
129 System
.err
.println ("calc min error 3" + ltest
);
132 long ltest
= (long)(float)(-1.0/zero
);
133 if (ltest
!= Long
.MIN_VALUE
)
134 System
.err
.println ("calc min error 4" + ltest
);